JAVA实现点对点通信思路

本文介绍了一种P2P网络中实现客户端间直接通信的方法。具体步骤包括:客户端登录时通过UDP发送数据包给服务器;执行数据传送时,客户端通知服务器目标客户端的登录名;服务器负责转发双方的IP和端口信息;客户端通过互相发送打洞信息建立直接连接;退出时从服务器记录中移除相关信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,客户端A登陆的时候,发送一个UDP数据包给服务器,然后服务器根据该包获得客户端A的IP和PORT并保存到UdpAddressMap(用登录名作为key保存)中。
2,客户端A要执行数据传送的时候,发送一个信息给服务器,带上目标客户端B的登陆名。
3,服务器将A的IP和PORT发给客户端B,同时将B的IP和PORT发给客户端A。
4,客户端A打开监听并向客户端B发送打洞信息,直到收到客户端B的回应信息停止打洞,开始正常传送信息。客户端B也是如此。
5,当用户退出的时候从UdpAddressMap去除该用户的IP和PORT信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值