我的毕业设计就是 《局域网即时通信》,老师要求实现以下功能提供基于TCP/IP网络的即时消息传送、消息广播、实时聊天、文件传输等功能。 具体列举如下:
· 支持多账号
· 可以同时发送同一个消息给多人,通过输入这些人的号码列表或姓名列表 
· 可以同时发送一个消息给所有好友
· 有权限的人可以向所有用户发送“消息广播”,便于消息的发布
· 即使用户不在线,也能通过服务器发送离线消息 
· 提供消息、聊天的历史记录,方便对信息的查看和管理
· 提供查看在线的人的功能
· 提供按ID或姓名查找用户的功能,添加用户方便 
· 小窗口显示,不占用屏幕很大的空间,
· 支持热键调出后台的应用程序。
· 应用程序运行后,在任务栏右边生成一个图标,单击弹出在线状态     菜单,双击显示应用程序窗口,右击弹出主菜单。
· 支持隐身登陆,可以看到在线的朋友,朋友却不知道你上线了
· 可以实时显示用户的状态和随时改变自己的状态
· 提供了自动弹出消息
· 好友上线通知
· 好友下线更新
· 有权限的人可以发系统广播(或在服务器上发)
· 查看好友信息
· 按姓名或号码查找某人
· 在好友列表中删除某人
· 可以选择在某人的好友中删除自己
· 更改个人信息
· 系统设置
· 给在线好友传文件
· 消息管理器
· 在程序中设定最大,最小窗口尺寸(宽度,高度)
· 主窗口总是浮在最上端
· 速度快,占用资源少
其中文件传输不会,请高人指点,能否给出思路和代码?谢了

解决方案 »

  1.   

    http://www.vckbase.com/code/findcode.asp?keyword=QQ
      

  2.   

    文件传输: 在C/S端分别启用一个"发送文件线程"与"接收文件线程". 发送时,先发送"文件的相关信息",如文件的名称,文件字节大小等. 然后再读取文件并发送文件的内容.接收时,先接收"文件的相关信息",然后再接收文件的内容,用同步io实现比较简单,  用异步实现也可(如:用ace提供的proactor框架)
      

  3.   

    谢谢上面的几位大哥了
    我怎么给你们加分啊?不好意思 ,我新来的
    本来我们老师要求用java做
    可我不会
    也不知道有没有懂java 的高手,不知道好不好搞定
      

  4.   

    那个MYICQ我下了下来
    可不会用,服务器端的程序是哪个?还有这个比较出名
    老师会不会看出来了啊?
      

  5.   

    我的就是拿myicq改的。不过我用的oracle数据库。用oci 写的。现在想用ace写,不知道行不行。