[java学习]java聊天室通信原理

1.server为socket通信建立一个线程,在这个线程里等待client连接请求。
   server为每一个client连接请求创建一个单独的线程,监听client传来的数据并返回响应数据(即位置信息)。
    这个线程同时接收和发送数据。
2.client也为socket通信建立一个线程,在这个线程里创建一个监听线程专门接受server端传来的数据,如果server端没有数据传来,那么它(监听线程)就处于阻塞态。
    同时其他图形控件可以共用这个socket通信线程,比如当areafield控件接收到数据时,可以使用它向server端发送数据。
    client端有两个线程,一个仅发送数据,一个接收数据。且这里的发送线程受gui事件分发线程控制,可能会有点问题

原文地址:https://www.cnblogs.com/wanping/p/2406417.html