TCP -- 利用字节流实现网络中数据传输(1)
一、服务端代码
public class MyServer { public static void main(String[] args) throws IOException { // 1、准备服务 ip:port ServerSocket serverSocket = new ServerSocket(8888); System.out.println("服务启动成功!"); // 阻塞监听 Socket accept = serverSocket.accept(); System.out.println("客户端连接成功!"); // 2、通过Socket生成inputStream InputStream inputStream = accept.getInputStream(); // 3、使用inputStream接收数据 byte[] bytes = new byte[1024]; int length; while ((length = inputStream.read(bytes)) != -1){ System.out.println("服务端收到的数据:"+new String(bytes)); } // 2.1、通过Socket生成outputStream OutputStream outputStream = accept.getOutputStream(); // 3.1、使用outputStream发送数据 outputStream.write("hello...我是服务端反馈的数据...".getBytes()); // 4、关流 outputStream.close(); inputStream.close(); accept.close(); serverSocket.close(); } }
二、客户端代码
public class MyClient { public static void main(String[] args) throws IOException { // 1、建立连接 Socket socket = new Socket("127.0.0.1",8888); System.out.println("客户端建立连接成功!"); // 2、通过Socket生成outputStream OutputStream outputStream = socket.getOutputStream(); // 3、使用outputStream,发送数据 outputStream.write("hello...我是客户端发送的数据...".getBytes()); // -------------------------------------------- socket.shutdownOutput(); // 2.1、通过Socket生成inputStream InputStream inputStream = socket.getInputStream(); // 3.1、使用inputStream,接收数据 byte[] bytes = new byte[1024]; int length; while ((length = inputStream.read(bytes)) != -1){ System.out.println("客户端收到数据:"+new String(bytes)); } // 4、关闭流 outputStream.close(); inputStream.close(); socket.close(); } }
上一篇:
IDEA上Java项目控制台中文乱码