java tcp数据传输实例

来源:互联网 发布:java web filter 编辑:程序博客网 时间:2024/05/16 06:31

首先先打开服务器端  然后打开客户端  本实例包括客户端与服务器端交互


<span style="font-size:18px;color:#FF0000;">服务器端</span>package com.fenuang.test;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;/** * java.net.BindException端口被占用的 *  * @author fenuang * */public class tcpserver {public static void main(String[] args) throws IOException {// 建立tcp服务端 并且监听一个端口ServerSocket serverSocket = new ServerSocket(9090);// 获取输出流对象 读取客户端发来的数据// 1,获取输入对象// 2,accept()接受客户端链接 没有链接时会一直等待 程序不会往下执行Socket socket = serverSocket.accept();// 3,获取输入流对象 读取内容InputStream inputStream = socket.getInputStream();byte[] buf = new byte[1024];int length = 0;length = inputStream.read(buf);System.out.println("服务器端收到:" + new String(buf, 0, length));//客户端与服务器端交互OutputStream outputStream = socket.getOutputStream();String data = "我是服务器端";outputStream.write(data.getBytes());// 关闭资源serverSocket.close();}}

客户端

package com.fenuang.test;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;import java.net.UnknownHostException;/** * tcp知识总结 *  * 1,tcp是基于IO流进行数据传输的,面向连接 2,tcp进行数据时没有大小限制 3,tcp是面向连接,通过三次握手机制保证数据的完整性,可靠地协议 * 4,tcp是面向连接的 速度慢 5,tcp区分客户端与服务器端 *  * 常见使用:打电话,qq文件传输 迅雷下载 *  * 客户端一旦启动就要与服务器端马上连接 serversocket(服务端类) *  * @author fenuang 客户端使用步骤 1,建立tcp客户端服务 2,获取到对应的流对象(输出流) * * */public class tcpsclinet {public static void main(String[] args) throws Exception {// 建立tcp服务Socket socket = new Socket(InetAddress.getLocalHost(), 9090);// 获取socket输出流对象OutputStream outputStream = socket.getOutputStream();// 写数据String data = "大家好我是客户端";outputStream.write(data.getBytes());// 与度武器端交互InputStream inputStream = socket.getInputStream();byte[] buf = new byte[1024];int length = inputStream.read(buf);System.out.println("客户端收到" + new String(buf, 0, length));// 关闭资源socket.close();}}


0 0
原创粉丝点击