原文链接:http://www.cnblogs.com/wangleiblog/articles/5323305.html 转载请注明
最近在弄一个java版的局域网在线聊天项目,功能跟飞秋差不多。p2p嘛,点对点传输信息
基本的思路大致如下:
1. 程序一启动就开启两个线程,:
(1) 一个广播消息,让局域网里的其他用户知道自己上线了
(2)第二个监听局域网的消息,一旦收到其他用户的广播消息,就将其加入自己的列表
2. 聊天采用的Socket套接字加多线程的方式进行,每个客户端都开启一个Socket和ServerSocket,这样就可以做到相互发送
3. 文件发送也实现了,原理跟发送文本消息差不多,最大的特点是实现了文件夹的发送,这个比较有意思,虽然难度不大
4. 最觉得有点意思的是用ssh的方式实现了远程shell的连接,(linux里面的说法)windows里面就是cmd啦,
这样就可以实现远程桌面,个人觉得这样的通过命令行的远程桌面可以媲美qq的,他那个只是做的比较好罢了。
其他细节就不多说了,希望与大家多交流,代码中手动设置了几个编译难点(防止伸手党啦,不要介意,仔细读读源码就能看到了,嘻嘻)
不多说了,上图,给大家看看:
1. 简单展示一下主要的程序的架构:
2. 聊天界面的展示:
聊天界面:
3.ssh远程控制:
4. 发送文件:
可以通过这个功能打开对方一个终端
5. 聊天界面的设计简要展示
这样的东西希望有心人也可以修改修改,然后大家一起交流交流心得:
下载地址:http://download.csdn.net/detail/u012627658/9473402
压缩包解压密码:wangleiQQ1215714557
代码里面设置了一个障碍,好好读读源码一下子就能找出来,主要是防止伸手党们。
嘻嘻。。。。。。。
欢迎交流学习!!
勤拂拭软件出品,必属精品
软件开发,毕业设计,程序作业,请访问勤拂拭毕业设计:
我的qq(1215714557 加好友请注明:勤拂拭)
qq群(439261058 加群请注明:勤拂拭)