udp unity 通过端口通讯_【Unity】关于UDP客户端不能先给服务器发消息的问题

本文介绍了在Unity中使用UDP通信时遇到的一个问题:客户端如果先于服务器启动并尝试发送消息,会导致异常。作者发现客户端的IP端口设置为0,从而无法正确通信。解决方案是通过服务器不断尝试发送特殊标记给客户端,直到客户端响应并建立通讯。这种方法仅在客户端向服务器发送消息时有效,服务器向客户端发送消息不受此问题影响。
摘要由CSDN通过智能技术生成

Apple iPhone 11 (A2223) 128GB 黑色 移动联通电信4G手机 双卡双待

4999元包邮

去购买 >

刚开始遇到这个问题时有点懵,UDP为什么还有分启动顺序?看一下我遇到的错误:

先启动serevr,再启动client,双方不管谁先发消息,正常;

先启动server,再启动client,之后关闭client,不关闭server,重新再启动client,client先发消息异常,

先启动client,再启动server,client先发消息,同样报上面的错误;

仔细检查了代码之后,发现ClientEnd的IP端口都是0,哦!我原来在和假地址交流。

接着就查找其为什么是0,发现server建立好时候的问候(发消息建立通讯),client还在睡觉(还没有启动) 然后就找度娘搜索答案,发现改Hosts或者IP都试了好像没什么用处,SO就想办法怎么能够让client起床(启动)之前,server一直叫它呢(尝试建立通讯)?由于才接触UDP,我这里想到的是一个笨方法,大牛可以略过,热心的话可以教一下萌新更高效的办法,十分感谢。

本人解决办法:

首先要明白只是Client向Server发消息会出现这些问题&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值