VB聊天工具:借助服务器端实现P2P通信
来源:互联网 发布:mac 应用程序开发 编辑:程序博客网 时间:2024/05/22 07:58
VB聊天工具:借助服务器端实现P2P通信
博主最近自己做了一款聊天工具,类似qq的样子,来简单分析一下如何借助服务器帮助建立P2P的连接进行在线通信
假设A要与B通信,S是服务器端
那么A、B与服务器要用tcp连接,这样A、B在连接S时会告诉S自己的ip;A与B之间用udp连接,需要互相知道对方的ip和port,这个需要S告诉它们。
连接流程如下:
1。首先A登录,以tcp连接S,S得知A的ip,写入数据库ip表;B登录,以tcp连接S,S得知B的ip,写入数据库ip表
2。A要跟B聊,A的udp绑定一个端口后,向S发送:“我要跟B聊,我的ip是- -,udpport是- -”
3。S收到A的请求,检查数据库ip表是否存在B的ip
4。S在ip表查找到B的ip,S发送给B :“A要跟你聊,A的ip是- -,udpport是- -”
5。B收到S的信息,B的udp绑定一个端口,向S发送: “我的udpport是- -”
6。S收到B的信息后,发送给A:“B的ip是- -,udpport是- -”
至此,A与B互相知道了对方的ip和udp绑定的端口号,可以实现udp通信。
当然,实际代码操作时,需要将A,S,B之间的消息固定格式,接收后解码然后进行下一步。如果A,B是不同内网,还需要解决内网穿透问题。
0 0
- VB聊天工具:借助服务器端实现P2P通信
- java实现P2P通信
- TCP实现P2P通信
- java 实现p2p通信
- c#基于udp实现的p2p语音聊天工具
- P2P通信原理与实现
- p2p通信原理及实现
- 服务器端和android客户端通信 服务器端实现
- 用JAVA实现P2P网络通信
- 用JAVA实现P2P网络通信
- 网络通信P2P JAVA实现过程
- 用JAVA实现P2P网络通信
- P2P通信原理与实现(C++)
- P2P(点到点-点对点)通信实现实例
- 基本java打洞通信实现p2p
- Socket(这样写可以实现P2P通信)
- P2P(点到点-点对点)通信实现实例
- P2P通信原理与实现(C++)
- Canvas 动态绘制简单的柱形图
- RoboWare Studio下Git仓库设置
- PAT B1016
- QTime QLCDNumber电子时钟
- DBCC
- VB聊天工具:借助服务器端实现P2P通信
- 理解fork()的一次调用两次执行
- RecyclerView中ItemDecoration的简单使用(一)--设置item的padding
- 废纸老板网CDN网站搭建成功
- 《react-native》从零开始(启始篇)
- 二维码的扫描与生成
- Java Socket编程----通信是这样炼成的
- java简单创建XML文件实例
- HTML&CSS学习二之web页面建设