UDP辅助TCP实现点对点数据传输

目的是在不知道对方主机IP情况下想要建立TCP连接进行数据传输

整体思路是首先UDP广播消息,服务器接收到广播消息后回送本机IP和端口,这样便能进行连接

UDP搜索IP与端口

  • 构建基础口令消息(发送消息的格式,服务器接收可以识别才能回送消息,避免接收其他干扰广播)
  • 局域网广播口令消息(指定端口)
  • 接收指定端口回送的消息(IP与端口)

UDP搜索取消

  • 异步线程接收回送消息
  • 异步线程等待完成
  • 关闭线程等待

运行环境

   IDEA

目录结构

client --客户端

   bean --数据格式封装包

      ServerInfo  --服务器信息封装类

   Client --客户端启动总类

   TCPClient --TCP数据发送类

   UDPSearcher --UDP搜索类

clink --工具包

   utils --基本工具包

      ByteUtils --byte数据的工具类

   Clink --clink总类

constants --协议规定包

   TCPConstants --TCP协议规定端口等

   UDPConstants --UDP协议规定端口等

server --服务端

   Server --服务器启动总类

   TCPServer --TCP服务端

   UDPProvider --UDP接收广播回送消息类

代码

注释也都在里边了

注:到此功能只能实现连接到服务器后,客户端输入数据,客户端接收数据并回送所发数据长度,服务器尚不能发送消息。以后的文章会做进一步修改。

链接: 百度网盘 提取码: 2s81

  

  

    

    

猜你喜欢

转载自blog.csdn.net/weixin_42089175/article/details/88697374