社区
Java SE
帖子详情
想写一个类似QQ的JAVA通信程序,是否该用线程池??
pbmiyuki
2007-07-03 09:56:30
服务器端肯定要用多线程,有两种思路:
1.为每个客户端分配一个线程 书上说这样资源消耗比较大,但我认为QQ这种东西是长时间的连接,不会频繁的开启关闭线程,我认为QQ用这种思路还是可以的
2.创建一个线程池,用线程池管理客户端线程.但是我认为这种方式不适合长时间的连接,如果给定线程池中固定的线程数,那么有新客户端连接上来那不就要等待了??
请各位说下适合那种思路.
...全文
315
11
打赏
收藏
想写一个类似QQ的JAVA通信程序,是否该用线程池??
服务器端肯定要用多线程,有两种思路: 1.为每个客户端分配一个线程 书上说这样资源消耗比较大,但我认为QQ这种东西是长时间的连接,不会频繁的开启关闭线程,我认为QQ用这种思路还是可以的 2.创建一个线程池,用线程池管理客户端线程.但是我认为这种方式不适合长时间的连接,如果给定线程池中固定的线程数,那么有新客户端连接上来那不就要等待了?? 请各位说下适合那种思路.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mdxk
2007-07-05
打赏
举报
回复
udp发行
socket传送文件
我们就是这样开发的
javafreshfish
2007-07-05
打赏
举报
回复
qq 是不是udp啊
tdy1234
2007-07-04
打赏
举报
回复
应该可以吧 ,好像QQ是基于UDP协议的 不需要实时发送 没有必要每一刻都和服务器保持连接
pbmiyuki
2007-07-04
打赏
举报
回复
楼上的意思是说用非阻塞方式来完成.那如果用阻塞的方式呢?
非阻塞和阻塞那种方式好??
zhaobo80968096
2007-07-03
打赏
举报
回复
用Socket就行了,满足tcp/ip协议就可进行网络传输,不用一直跟服务器连接着,到时候给服务器端发个消息就ok,要不qq得需要多少服务器才能让几万人同时在线?
umbrella1984
2007-07-03
打赏
举报
回复
1.为每个客户端分配一个线程 书上说这样资源消耗比较大,但我认为QQ这种东西是长时间的连接,不会频繁的开启关闭线程,我认为QQ用这种思路还是可以的
1个线程用NIO接收客户连接数据等,然后为每个客户建一线程处理逻辑。这个线程用线程池,以免频繁创建/关闭/切换线程带来的效率问题。
zhaobo80968096 :你的意思是说一个客户端向另一个客户端发送消息完后Socket就关闭??如果再要发消息就再连Socket??
如果要这样那就用UDP会更好。
ym_009
2007-07-03
打赏
举报
回复
高手都睡觉去了。
supersunyi
2007-07-03
打赏
举报
回复
不用开吧,客户机本身登陆以后自己在本地开设线程,每隔固定的时间向服务器发送连接的应答信号,服务器接受到就回一个,如果客户机能接受到信号,就表明他连接着,如果不行,就表明掉线不是也可以吗?线程池应该需要,但是是用来处理某些处理的,对于每个客户都开个线程跟踪,我想不太会吧。象qq都应该用udp了吧。这个协议都是直接发送数据,发完以后就不管了,具体不清楚,反正我觉得应该不会开线程监视客户机吧
javafreshfish
2007-07-03
打赏
举报
回复
同意pbmiyuki()的说法我一直也有这样的疑问希望这次能解决
高手在哪
pbmiyuki
2007-07-03
打赏
举报
回复
如果向zhaobo80968096说的,不用一直跟服务器连接着,那意思就是说发个消息过去,客户端的Socket就断开,再要发消息再连接??
pbmiyuki
2007-07-03
打赏
举报
回复
是这样的,这个程序的功能除了能向对方发消息外,还可以向对方传文件,从服务器上下载文件,或上传文件给服务器,要求一个客户端可同时上传文件并向对方传输文件,或下载文件 .如果服务器端不开多线程,怎么同时完成这些任务.
zhaobo80968096 :你的意思是说一个客户端向另一个客户端发送消息完后Socket就关闭??如果再要发消息就再连Socket??
类似
QQ
的聊天软件
JAVA
版源码(附设计文档)
类似
QQ
的聊天软件
JAVA
版源码(附设计文档)
java
聊天工具
类似
qq
java
聊天工具
类似
qq
java
聊天工具
类似
qq
用
java
编
写
的
类似
QQ
的聊天软件
类似
QQ
的聊天软件。登入服务器后,实现群聊等
Java
类
QQ
聊天及文件传输
程序
这是我们
JAVA
课程,网络、多线程实验
程序
,为类
QQ
聊天
程序
,支持点对点文件传输。
用
Java
写
了个 模仿
QQ
的东东Client
用
java
编
写
的
类似
QQ
的聊天工具但是数据路里的表的自己配,由于技术问题,没办法。
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章