当前位置:  技术问答>java相关

谁能告诉我,做一个象网易那样的聊天室,用什么方法,不要告诉我是用数据库或读写文件,是不是用多线程,socket协议。来讨论者皆有分。

    来源: 互联网  发布时间:2015-02-07

    本文导语:  | 做聊天室很多方法,用PHP/JSP这类的服务器脚本语言还是想用applet+server来做? 如果是jsp的方法,就不存在多线程的问题,但你肯定要用数据库或是文本文件保存用户信息及聊天信息了。jsp没有asp中application对象,聊天信...


|

做聊天室很多方法,用PHP/JSP这类的服务器脚本语言还是想用applet+server来做?

如果是jsp的方法,就不存在多线程的问题,但你肯定要用数据库或是文本文件保存用户信息及聊天信息了。jsp没有asp中application对象,聊天信息应如何保存呢?数据库中建一个临时表是一种方法,当然在服务器的servlet中放一个vector也不失为一种方法,不过我没仔细想过是否有问题。

如果是applet加一个自己写的聊天服务器,就要考虑用多线程了,还有serversocket了,一般socket-serversocket是基于TCP的,建议你用TCP来做吧,可靠点,聊天又不是什么大数据量的操作,有一下没一下的,好象没必要用UDP吧,(我个人感觉)。

你可以在server放一个vector,大家的信息都存在这里,在socket中读写object方式即可。

当然聊天室涉及到的不止这些,给点我的意见大家继续讨论。

|
在服务器端采用ServerSocket要用到多线程,即对应每一个用户一个Socket线程,在客户端采用Socket单线程可以实现,不过在服务器与客户端对应的Socket都用多线程实现最好,即一个线程处理数据,一个线程读取数据,因为网络上的数据读取时间是无法预料的,不象读取本地文件一样。
数据库是必须的,用来记录用户信息及聊天信息

|
考虑采用TCP协议。服务器端的ServerSocket。必须采用多线程。

|
数据库可能也要,因为有用户登陆了,要纪录用户数据的!用UDP也行,但会丢包了,看你数据要求多高了。服务器多线程,客户单线程就行了!

|
应该使用数据库加上Java Applet,当然要用多线程技术,这样才可以支持很多人同时在线聊天!

|
这种问题,在清华bbs上有,完全的解答,你去看看呀,

大家有空到标题:"帮我解决了,我一定送分的!"我需要大家的帮忙

|
用jsp和数据库就行

|
应该要吧,要不怎么可以实现那么多人一起使用!
数据库可能不要涉及,因为没法查聊天记录!

|
用udp 啊。

|
关注

|
我来学习一下!

|
UP

|
gz

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 谁能告诉我哪儿有 j2sdk-1_3_1-win.exe 下载,最好告诉我url
  • 有谁能告诉我如何在Solaris下播放音乐CD呀? iis7站长之家
  • 谁能告诉我类和库有什么区别,送分???????
  • 那里有IBM的WEBSPHERE下载,能告诉我下载的网址吗?
  • 请告诉我websphere4的详细安装步骤
  • 推荐一本电子版的xml与java编程的书,告诉我下载地址。
  • 谁能告诉我pop3邮件操作命令列表?
  • 50分相送,告诉我gcc地址
  • 请告诉一下,下载的.iso文件怎么用?见笑见笑
  • 谁能告诉我JSP中怎样使用类??先谢谢了
  • 有谁能告诉我如何在Solaris下播放音乐CD呀?
  • linux进入界面需要login我不知道,谁能告诉我,谢谢
  • 各位大侠,谁告诉我怎么屏蔽?
  • 各位,能否告诉小弟那里有《thinking in java》可以下载啊!thx
  • 谁能告诉我SCJP考题的网址吗?
  • 快告诉我怎么选择所选文本好吗?
  • 有谁告诉我如何使用main中的args进行输入输出的操作?
  • 谁能告诉我回车的ascii码是多少?(10进制的)
  • 哪位大哥,大姐知道国内那个网站有jdk1.4的API下载,告诉小弟一下
  • 谁告诉我什么地方有基于java或jsp的聊天室代码下。


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3