java版的类似飞秋的局域网在线聊天项目
2017-06-07 15:23
435 查看
原文链接: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. 简单展示一下主要的程序的架构:
![](http://images2015.cnblogs.com/blog/913610/201603/913610-20160326202903558-888224426.png)
2. 聊天界面的展示:
![](http://images2015.cnblogs.com/blog/913610/201603/913610-20160326202936073-959230071.png)
聊天界面:
![](http://images2015.cnblogs.com/blog/913610/201603/913610-20160326202944245-288701703.png)
3.ssh远程控制:
![](http://images2015.cnblogs.com/blog/913610/201603/913610-20160326202952620-827910072.png)
4. 发送文件:
![](http://images2015.cnblogs.com/blog/913610/201603/913610-20160326203010948-2116701263.png)
可以通过这个功能打开对方一个终端
5. 聊天界面的设计简要展示
![](http://images2015.cnblogs.com/blog/913610/201603/913610-20160326202847417-1241654221.png)
这样的东西希望有心人也可以修改修改,然后大家一起交流交流心得:
下载地址:http://download.csdn.net/detail/u012627658/9473402
压缩包解压密码:wangleiQQ1215714557
代码里面设置了一个障碍,好好读读源码一下子就能找出来,主要是防止伸手党们。
嘻嘻。。。。。。。
欢迎交流学习!!
勤拂拭软件出品,必属精品
软件开发,毕业设计,程序作业,请访问勤拂拭毕业设计:
勤拂拭软件
我的qq(1215714557 加好友请注明:勤拂拭)
qq群(439261058 加群请注明:勤拂拭)
最近在弄一个java版的局域网在线聊天项目,功能跟飞秋差不多。p2p嘛,点对点传输信息
基本的思路大致如下:
1. 程序一启动就开启两个线程,:
(1) 一个广播消息,让局域网里的其他用户知道自己上线了
(2)第二个监听局域网的消息,一旦收到其他用户的广播消息,就将其加入自己的列表
2. 聊天采用的Socket套接字加多线程的方式进行,每个客户端都开启一个Socket和ServerSocket,这样就可以做到相互发送
3. 文件发送也实现了,原理跟发送文本消息差不多,最大的特点是实现了文件夹的发送,这个比较有意思,虽然难度不大
4. 最觉得有点意思的是用ssh的方式实现了远程shell的连接,(linux里面的说法)windows里面就是cmd啦,
这样就可以实现远程桌面,个人觉得这样的通过命令行的远程桌面可以媲美qq的,他那个只是做的比较好罢了。
其他细节就不多说了,希望与大家多交流,代码中手动设置了几个编译难点(防止伸手党啦,不要介意,仔细读读源码就能看到了,嘻嘻)
不多说了,上图,给大家看看:
1. 简单展示一下主要的程序的架构:
![](http://images2015.cnblogs.com/blog/913610/201603/913610-20160326202903558-888224426.png)
2. 聊天界面的展示:
![](http://images2015.cnblogs.com/blog/913610/201603/913610-20160326202936073-959230071.png)
聊天界面:
![](http://images2015.cnblogs.com/blog/913610/201603/913610-20160326202944245-288701703.png)
3.ssh远程控制:
![](http://images2015.cnblogs.com/blog/913610/201603/913610-20160326202952620-827910072.png)
4. 发送文件:
![](http://images2015.cnblogs.com/blog/913610/201603/913610-20160326203010948-2116701263.png)
可以通过这个功能打开对方一个终端
5. 聊天界面的设计简要展示
![](http://images2015.cnblogs.com/blog/913610/201603/913610-20160326202847417-1241654221.png)
这样的东西希望有心人也可以修改修改,然后大家一起交流交流心得:
下载地址:http://download.csdn.net/detail/u012627658/9473402
压缩包解压密码:wangleiQQ1215714557
代码里面设置了一个障碍,好好读读源码一下子就能找出来,主要是防止伸手党们。
嘻嘻。。。。。。。
欢迎交流学习!!
勤拂拭软件出品,必属精品
软件开发,毕业设计,程序作业,请访问勤拂拭毕业设计:
勤拂拭软件
我的qq(1215714557 加好友请注明:勤拂拭)
qq群(439261058 加群请注明:勤拂拭)
相关文章推荐
- java在线聊天项目0.4版本 制作服务端接收连接,客户端连接功能 新增客户端窗口打开时光标指向下边文本域功能,使用WindowListener监听WindowAdapter
- java在线聊天项目1.0版 异常处理——开启多个客户端,关闭一个客户端后,在其他客户端中再发出信息会出现异常的处理
- java在线聊天项目0.5版 解决客户端向服务器端发送信息时只能发送一次问题 OutputStreamWriter DataOutputStream socket.getOutputStream()
- java在线聊天项目1.1版 ——开启多个客户端,分别实现注册和登录功能,使用客户端与服务端信息request机制,重构线程,将单独的登录和注册线程合并
- java在线聊天项目1.3版 ——设计好友列表框功能
- java在线聊天项目0.7版 连接多个客户端问题,开启多个客户端后服务器端只接收到一个 对各种异常的补充处理
- java在线聊天项目 swt可视化窗口Design 重新设计好友列表窗口 增加菜单栏
- java在线聊天项目 使用SWT快速制作登录窗口,可视化窗口Design 更换窗口默认皮肤(切换Swing自带的几种皮肤如矩形带圆角)
- java在线聊天项目0.2版本 制作客户端窗体,使用swing(用户界面开发工具包)和awt(抽象窗口工具包) BorderLayout布局与GridLayout布局不同之处 JPanel设置大小
- java在线聊天项目0.8版 实现把服务端接收到的信息返回给每一个客户端窗口中显示功能
- java在线聊天项目 swt可视化窗口Design 好友列表窗口
- java在线聊天项目 客户端登陆窗口LoginDialog的注册用户功能
- java在线聊天项目1.2版 ——开启多个客户端,分别实现数据库注册和登录功能后,成功登陆则登录框消失,好友列表窗出现
- java在线聊天项目 swt可视化窗口Design 登录框注册按钮点击改变窗口大小——出现注册面板 实现打开登录框时屏幕居中
- java在线聊天项目 实现基本聊天功能后补充的其他功能详细需求分析 及所需要掌握的Java知识基础 SWT的激活方法,swt开发包下载,及破解激活码
- java在线聊天项目0.6版 解决客户端关闭后异常问题 dis.readUTF()循环读取已关闭的socket
- java在线聊天项目0.3版本 制作客户端窗体,实现发送按钮和回车发送信息功能,使用ActionListener监听事件中actionPerformed方法(用内部类和匿名内部类两种方法)
- ckfinder的类似项目,开源版在线文件管理kcfinder的java整合
- java在线聊天项目0.1版本 制作客户端窗体,使用swing(用户界面开发工具包)和awt(抽象窗口工具包)
- java在线聊天项目1.3版设计好友列表框功能补充,因只要用户登录就发送一串新列表,导致不同客户端好友列表不同问题