java的C/S结构,实现即使通讯聊天,文件传送,消息广播等等功能。(以后扩展为语音视频等)
类似QQ.
有没有那位有经验的指点一二?比如底层协议?

解决方案 »

  1.   

    参考LumaQQ
    http://lumaqq.linuxsir.org
    注:这只是一个客户端,协议还是腾讯的那一套。
      

  2.   

    协议当然就是TCP/UDP了,但是在这个协议的基础上,最好是设计一套自己的通讯协议。可以用XML描述,或者有格式的文件来描述。
      

  3.   

    嗯,LumaQQ不错!可是他是访问QQ的服务的。
    我希望的是那种带有Server端的,有无适合的开源项目提供研究?
      

  4.   

    miaoliujun(傲龙) :能不能具体点呢? 使用Java开发的.
      

  5.   

    用XMPP协议,服务端用wildfire,客户端用spark,相应资源在www.jivesoftware.org有,自己去看看吧
      

  6.   

    用lumaQQ做客户,自己开发一个服务器程序实现QQ协议就可以了
    lumaQQ已经很强大了
      

  7.   

    用的着这么多七七八八的开源的东西吗?真是不懂,我读大二的时候,就自己写了一个,虽然功能不是很强大(聊天,文件发送,消息群发,支持群),但是道理都是一样,看你愿意把它做成什么样子 ,底层协议当然是
    tcp和udp了,只不过在这层上面,你需要自己设计一套自己的通信规范,不然等程序多了就乱套了,而且不容易扩展.大致过程如下:
    1.服务器启动监听线程
    2.客户端连接进来,标志为登陆(tcp连接)
    3.服务器为此客户端连接启动一个服务线程,此线程接到指令为登陆,作如下初始化工作:
      验证用户身份
      读取用户网络信息
      读取此用户所有好友
      向此用户所有好友发出该用户已经上线
      向该用户返回登陆成功指令
    4.客户端接受到登陆成功指令,此服务器读取所有好友信息,包括好友当前ip,发消息时候要用的.启动信息监听线程,次线程在指定端口循环监听信息,利用udp协议,此时该客户可以聊天了,我当时实现的是聊天用udp协议,因为如果服务器端消息群发,或者群内发消息的话,用udp的广播形式发送出去比较好,用tcp则比较麻烦
    大致上就这样了,源码谁要阿,反正我留着也没有用,我在局域网上调试过,效果不错哦:)
      
      

  8.   

    sourceforge.org上很多这类的程序啊。
      

  9.   

    wudouguerwxx(家有小熊) :你以为做项目是些程序玩儿呢?就那个局域网上的一个通信程序还拿出来的说啥啊。
    那些基本的技术还用你说么?
    通信程序最主要考虑的是什么问题啊?是网络!现实中有几个是局域网啊?
    考虑过NAT,考虑过防火墙么?考虑过服务器性能问题,考虑过P2P么?
      

  10.   

    cs模式的就比较简单
    如果是BS模式的就比较感兴趣!