基于JAVA的多人聊天室

怎么用JAVA实现一个多人图文聊天室,系统的主要功能是实现群聊和私聊还要能发送图片文件,我想问下C/S和B/S怎么实现聊天室的???不需要代码,只要能说明怎么个实现就行... 怎么用JAVA实现一个多人图文聊天室,系统的主要功能是实现群聊和私聊还要能发送图片文件,我想问下C/S和B/S怎么实现聊天室的???不需要代码,只要能说明怎么个实现就行 展开
歪瑞顾K
2010-01-18 · TA获得超过2905个赞
知道大有可为答主
回答量:2731
采纳率:33%
帮助的人:2211万
展开全部
用CS模式,那就太简单了。。没什么多说的。java.net.Socket

至于B/S模式吧,其他的都还简单点,发送文件那个估计不太简单。

毕竟浏览器 上进行文件传输,很麻烦。

可以使用下GWT框架,基于ajax技术,,如果觉得界面难看。可以用GXT
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aaronswon
2010-01-18 · TA获得超过3481个赞
知道大有可为答主
回答量:1863
采纳率:0%
帮助的人:1615万
展开全部
CS 模式吧 类似QQ
socket + 多线程 实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a530078398
2010-01-18 · 超过32用户采纳过TA的回答
知道答主
回答量:137
采纳率:0%
帮助的人:98.9万
展开全部
java里面有一个socket, 用这个类能实现

至于你说的图片也能显示的, 有一个控件叫什么名字我忘了, 在C#里面叫做richbox

你自己找一下吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hthome2009
2010-01-18 · 超过11用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:0
展开全部
cs模式实现起来,效率上是不需要考虑的,而bs模式效率是就很差了,我知道的就是flash+socket,ajax轮询,还有一个就服务器推送技术,比如plushlet,这个东西研究了一下,不过,感觉效率上还是不尽人意的,大概就是后台和前台是一直保持连击的,没断过,原来看过google做了一个类是与的,效率感觉多不错,前台就纯html代码,没用flash,不过不知道是怎么做的,地址也找不到了,你可以找找试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
铁马北风
2010-01-18 · 超过19用户采纳过TA的回答
知道答主
回答量:187
采纳率:0%
帮助的人:0
展开全部
用socket就可以了bs/或者cs都可以实现 ,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冰风舞雨
2010-01-19 · TA获得超过732个赞
知道小有建树答主
回答量:189
采纳率:0%
帮助的人:189万
展开全部
1.C/S中一般采用socket+多线程+IO+Swing或applet技术,思路是这样的:
在服务器端建立一个连接端口,专门用来让客户端连接服务端的,并且不断监听连接请求,当有用户连接时,为登录的用户开启一个端口,并且将这个端口放在一个全局的List中,还需要给这个用户分配一个线程,用来不断监听List中的端口是否有新的连接请求,有的话,则为全部或者指定的端口发送信息(使用IO流)。
而在客户端中在连接上服务端后,同时开启一个线程,不断的监听服务端是否有信息发送过来。在客户端发送信息的时候,则连接通过socket向服务器端发送信息。
至于图片或者文件,则是类似的原理,不再多讲.
2.B/S中一般采用servlet+ajax+js.在用户登录的时候记录下他的session或者用户信息存放在全局Map中,以用户名或session为key,消息内容List为value。当用户发送信息并提交的时候,后台收到信息,并根用户对象,然后据发送的对象不同(群聊或私聊),从Map中遍历出指定的聊天,存放消息内容的list中加入所发送的消息。
而客户在聊天页面中,需要通过ajax不断的去调用访问后台,去查看是否有新的消息,有则通过js,将信息在页面中显示出来
至于传送文件,可以考虑使用服务器中转的方式进行,不过这个方法不是很好,建议另外查询一些资料
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式