JAVA聊天程序中的一些问题(高分悬赏)

来源:百度知道 编辑:UC知道 时间:2024/05/27 22:24:55
声明:单窗口聊天早已实现
1:我们现在在一台电脑上打开好几个窗口同时聊天,现有服务器发送过来的信息,如何显示到应该显示的窗口上比如说 和A聊天,A发送过来的显示到A的JTextpane上,和B聊天,显示到B的JTextPane上。(现在是同时聊)

2:聊天信息由类封装到服务器直接转发,还发加标志放到数据库中有客户端不停扫描数据库呢。

3:数据库是否应该为每个用户建立一个表。用户有很多分组,还有群。

1.客户端创建Socket时会被分配到一个唯一的窗口,客户端连接到服务器时,服务器会应该用accept()函数创建一个专门的Socket接收来自A的信息,所以只要让服务器知道你是A,当服务器受到别人发给A的包时直接让这个专门的Socket发信息就会直接发给A了。顺便说下服务器的设计思路,服务器应该用多线程实现,主线程只管接受新连接,来个新连接就创建一个Socket,然后直接把这个Socket传给多线程类,继续监听。由多线程类来处理客户端需求。
2.直接转发
3.哪能一个用户一个表呢...不确定长度的列可以用字符串加分隔符保存,如用户分组可保存为:我的好友&陌生人&黑名单.....有点像QQ额

1. 你是说每个用户同时开着客户端和服务端吧? 用线程并到一起吧
2. 没明白什么意思
4. 不一定非得用表 你可以在本地设置一个文本 用来记录用户的信息 这种东西能脱离数据库就脱离数据库吧

端口不同,这不就可以分开了。具体说就是服务端用不同的端口接收,就好弄了。

用多线程来管理每一个连接就行了!

fgdf

采用多线程呀