java TCP做聊天程序是应该一个聊天窗口一个线程还是一个Socket一个线程
若代码中S用static修饰,开启两个客户端程序static会互相影响?附代码http://pan.baidu.com/s/1mikySkg...
若代码中S用static修饰,开启两个客户端程序static会互相影响?
附代码
http://pan.baidu.com/s/1mikySkg 展开
附代码
http://pan.baidu.com/s/1mikySkg 展开
13个回答
展开全部
java提供了两种IO方式,一种是基于阻塞式的(BIO),一种是基于非阻塞式的(NIO),基于阻塞式的socket会一直阻塞在等待客户端的链接上,如果客户端有链接过来则分配一个线程去处理,然后又继续阻塞;如果是基于NIO的socket,会用到缓冲技术,socket将会被放到通道上,即使客户端没有链接过来,也不会一直的去阻塞,会一直的去轮询,直到通道可以进行读写为止,所以可以做到一条线程去处理多个链接。。。如果是用BIO的方式就是一个scoket一条线程,如果是NIO的话就不用考虑。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是用swing来做的么?
应该是这么说,一个socket一个线程。
服务器开启中。。。
客户端1启动的时候,创建socket客户端,发起请求,并且显示窗口。
你可以在服务端用线程池管理socket数量。。
应该是这么说,一个socket一个线程。
服务器开启中。。。
客户端1启动的时候,创建socket客户端,发起请求,并且显示窗口。
你可以在服务端用线程池管理socket数量。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实无论怎么做都是可以的,只是那种更加优化.
通常的做法一个socket一个线程就可以了.根据命令请求解析内容.把不同内容放到不同的聊天窗口中.
另外如果只是聊天的话,建议用udp比较好.可以采用udp协议+应答机制.
通常的做法一个socket一个线程就可以了.根据命令请求解析内容.把不同内容放到不同的聊天窗口中.
另外如果只是聊天的话,建议用udp比较好.可以采用udp协议+应答机制.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
理论上是一个用户一个socket,而不是窗口。
1、必须采用短连接;
2、采用TCP做聊天窗口不合理,建议UDP;
3、设置服务端的会话超时,以便于缓解会话连接数增加的压力;
4、线程的增加按业务需求而定,不是必须使用。
1、必须采用短连接;
2、采用TCP做聊天窗口不合理,建议UDP;
3、设置服务端的会话超时,以便于缓解会话连接数增加的压力;
4、线程的增加按业务需求而定,不是必须使用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询