Tcp实现聊天

java 复制代码
public class TcpServerDemo01 {
    public static void main(String[] args) throws IOException {
        //1.我得有一个地址
        ServerSocket serverSocket = new ServerSocket(9999);
        //2待客户端连接
        Socket socket = serverSocket.accept();
        //3.读取客户端时消息
        InputStream is = socket.getInputStream();
        //管道流
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int len;
        while((len=is.read(buffer))!=-1){
            baos.write(buffer,0,len);
        }
        System.out.println(baos.toString());
        baos.close();
        socket.close();
    }

}

先启动服务端

java 复制代码
public class TcpClientDemo01 {
    public static void main(String[] args) throws IOException {
        //1.要知道服务器的地址、端口号
        InetAddress serverIP = InetAddress.getByName("127.0.0.1");
        int port = 9999;
        //2.创建一个socket连接
        Socket socket = new Socket(serverIP,port);
        //3.发送消息IO流
        OutputStream os = socket.getOutputStream();

        os.write("你好欢迎学习".getBytes());
        os.close();
        socket.close();
    }

}

再启动客户端

客户端

1.连接服务器Socket

2.发送消息

服务端

1.建立服务的端口ServerSocket

2.等待用户的连接accept

3.接收用户的消息

相关推荐
sxhcwgcy15 分钟前
快速在本地运行SpringBoot项目的流程介绍
java·spring boot·后端
xiaomo224919 分钟前
javaee-多线程进阶
java·开发语言
我真会写代码20 分钟前
线程池高频面试题(整理版)
java·线程池
网安Ruler25 分钟前
DoIP (基于 IP 的诊断通信协议)分析与理解
网络·tcp/ip·汽车
左左右右左右摇晃33 分钟前
Java并发——线程间的通信
java·开发语言
用户2986985301436 分钟前
Java: 从 Word 文档中提取文本和图像
java·后端
皙然42 分钟前
吃透进程与线程:从概念到实战,破解并发编程核心难题
java·开发语言
冬夜戏雪43 分钟前
HashMAP底层原理和扰动hash的例子
java·开发语言
咸鱼2.043 分钟前
【java入门到放弃】计算机网络
java·开发语言·计算机网络
Zzxy1 小时前
MyBatis-Plus入门
java·mybatis