【Java】【网络编程】模仿客户端与服务器进行socket交互(TCP协议)

模仿客户端与服务器进行socket交互(TCP协议)

/**
 * TCP协议演示 客户端
 * 
 * @author JerichoPH
 */
public class Demo_TCP_Client {
    public static void main(String[] args) throws Exception {
        Socket socket = new Socket("127.0.0.1", 6666); // 创建客户端socket
    
        InputStream is = socket.getInputStream(); // 获取客户端输入流
        OutputStream os = socket.getOutputStream(); // 获取客户端输出流
        
        byte[] arr = new byte[1024];
        int len = is.read(arr); // 接收服务器响应数据
        System.out.println(new String(arr,0,len)); // 将数据转换成字符串并打印
        
        os.write("这里是客户端发送的数据".getBytes()); // 客户端向服务器发送数据
        
        socket.close(); // 客户端关闭socket连接。关闭socket就同时关闭了流,所以不需要单独关闭BufferReader InputStreamReader
    }
}

/**
 * TCP协议演示 服务端
 * 
 * @author JerichoPH
 */
public class Demo_TCP_Server {
    public static void main(String[] args) throws Exception {
        ServerSocket server = new ServerSocket(6666); // 创建服务器端socket
    
        Socket socket = server.accept(); // 接收客户端请求
        InputStream is = socket.getInputStream(); // 接收客户端输入流
        OutputStream os = socket.getOutputStream(); // 接收客户端输出流
    
        os.write("百度一下你就知道".getBytes()); // 服务器向客户端,响应数据
    
        byte[] arr = new byte[1024]; // 接收客户端发送数据
        int len = is.read(arr);
        System.out.println(new String(arr, 0, len));
        
        socket.close(); // 服务器关闭socket,但是不能关闭server。关闭socket就同时关闭了流,所以不需要单独关闭BufferReader InputStreamReader
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容