想做一个类似QQ的聊天工具,设计基本完毕,就差一点了!1.建一个服务端,N个客户端,完成。
2.能够使用简单的面板进行聊天,这个也完成了。
3.用的是TCP登陆,UDP发送信息,这个已经完成。以下是为想出来的部分:4.怎样发送带有图片(表情)的信息?
5.怎样能够进行传送文件?
6.怎样能够在至少400人以上同时发送?(一个客户端一个线程的貌似不行!)

希望做过的同志,赐教指点一下!万分感激!如果对应参考部分例子或者参考文档就更好了!

解决方案 »

  1.   

    不能用多线程的话用nio,类似完成端口模式吧,传文件我觉得是另外开一个端口进行文件传输。成型的nio类库有mina的框架比较好用吧,我没用过
      

  2.   

    4.怎样发送带有图片(表情)的信息?
    发送图片表情 是客户端的图片,如笑脸等,在安装客户段的时候后就有了,对方发过来的只是特殊信息如【face】^012。通过特征解析然后从本地把图片显示出来。
    如果不是定义好的图片,QQ的实现方式是在QQ安装目录内有个Img临时目录,把图片先接收到本地,然后在现实到窗口里。5.怎样能够进行传送文件?
    传输文件:首先有一个文件的存储目录,如QQ的是在My document目录里有个 Tencent 文件夹中。
    主要是TCP建立连接,Java中的PIPEInputStream 和 PIPEOutputStream管道流实现起来应该比较方便。6.怎样能够在至少400人以上同时发送?(一个客户端一个线程的貌似不行!)
    这个没有研究过,试试多线程,毕竟QQ能占内存100多兆呢 :)