游戏蛮牛学习群(纯技术交流,不闲聊):959392658
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

问答求助

关注:567

当前位置:游戏蛮牛 技术专区 问答求助

_____________________________________________________________________________________________________________
问答求助版块规则:

  1、问题尽量描述清楚
      2、代码要放在代码块里
      3、附件最好放到云盘,然后把链接放到TXT文档里,上传TXT文档。【最好没有附件,你懂得】
      4、本版块回复不得无意义,如:顶、呵呵、不错......以及擦边!【真的会扣分的哦】严重者,封IP!
      5、问题得到解决,请选择最佳答案。
      6、若问题是你自己解决了,可以联系管理员,返还蛮牛币,写下你的答案,另有蛮牛币奖赏。
_____________________________________________________________________________________________________________
查看: 303|回复: 4

[其他] 关于UDP传输的问题:服务器收到消息但是返回的消息客户端收不到

[复制链接]  [移动端链接]
排名
28268
昨日变化
12

1

主题

10

帖子

38

积分

Rank: 1

UID
205928
好友
0
蛮牛币
75
威望
0
注册时间
2017-2-10
在线时间
15 小时
最后登录
2018-8-5
发表于 2018-6-17 16:51:01 | 显示全部楼层 |阅读模式
10蛮牛币
客户端绑定的地址:file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\1032311094\TIM\WinTemp\RichOle\$B2$1E85E(OLTV_547`A5BW.pngreceiveIep = new IPEndPoint(IPAddress.Parse("192.168.1.184"), 1004);
具体情况说明是这样的:我客户端向服务器发送消息,然后服务器能够正常接收到。但是接下来服务器根据receivefrom返回的客户端地址来向客户端发送信息时,客户端就收不到了。
其中:客户端第一次会向服务器发送它接受消息绑定的端口号。然后服务器将这个端口号与receivefrom返回的地址ip一起合并保存。这就成为需要发送信息的客户端地址。
然后客户端绑定的ip是内网的ip 192.168.xxx.xxx的形式。然后在服务器端我打印出来获取的客户端ip是像61.241.xxx.xxx这样的。
也就是说:客户端绑定ip是192.168.xxx.xxx  端口1004   服务器保存的客户端地址是:61.241.xxx.xxx  端口1004。最终结果如一开始所说。
求大佬来帮忙解决一下!或者科普一下知识!我刚刚学这块内容。

另外:有三个小问题
receiveIep = new IPEndPoint(IPAddress.Parse("192.168.1.184"), 1004); 客户端file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\1032311094\TIM\WinTemp\RichOle\9F(U95K8LHDSVOMNF{FA%`S.png这个ip地址是要主机地址还是内网的地址?  

端口可以直接固定然后发给服务器记住吗?
服务器可以通过reveiceFrom获得的发送方的信息加上对应的端口将消息传回客户端绑定的那个地址吗?




回复

使用道具 举报

6蛮牛粉丝
1026/1500
排名
3802
昨日变化
14

5

主题

285

帖子

1026

积分

Rank: 6Rank: 6Rank: 6

UID
234410
好友
2
蛮牛币
969
威望
0
注册时间
2017-7-26
在线时间
342 小时
最后登录
2018-12-13
发表于 2018-6-17 16:51:02 | 显示全部楼层
前面的问题可能是你接收到消息的时候可能你还没有完全开启接收信息
你可以等到接受信息的协程完全开启之后 等待1 2 秒在发送信息

后面的问题  如果你把服务端挂在云上 你从外面的客户端访问的时候 填的是外网 IP  如果你的客户端和服务端放到一起
那么你就填内网 如其名 外网内网按照名字就可以区分

回复

使用道具 举报

5熟悉之中
771/1000
排名
5115
昨日变化
1

3

主题

231

帖子

771

积分

Rank: 5Rank: 5

UID
243817
好友
1
蛮牛币
633
威望
0
注册时间
2017-9-16
在线时间
267 小时
最后登录
2018-12-12
发表于 2018-6-19 10:00:07 | 显示全部楼层
消息接受是要开起线程或者使用协程来接受处理

回复

使用道具 举报

排名
28268
昨日变化
12

1

主题

10

帖子

38

积分

Rank: 1

UID
205928
好友
0
蛮牛币
75
威望
0
注册时间
2017-2-10
在线时间
15 小时
最后登录
2018-8-5
 楼主| 发表于 2018-7-2 22:14:41 | 显示全部楼层
谁把酒喝了 发表于 2018-6-19 10:00
消息接受是要开起线程或者使用协程来接受处理

可是我没有挂到服务器上,在本机上直接选定了客户端地址的时候就可以用。所以应该不是这个原因

回复

使用道具 举报

排名
28268
昨日变化
12

1

主题

10

帖子

38

积分

Rank: 1

UID
205928
好友
0
蛮牛币
75
威望
0
注册时间
2017-2-10
在线时间
15 小时
最后登录
2018-8-5
 楼主| 发表于 2018-7-2 22:16:19 | 显示全部楼层
随幻Kaller 发表于 2018-6-19 08:36
前面的问题可能是你接收到消息的时候可能你还没有完全开启接收信息
你可以等到接受信息的协程完全开启之后  ...

因为这个帖子发出来几天没人回复就搁置忘记了,后来自己去做TCP的聊天室成功了,然后也比较熟悉了,你回答的底下的问题也懂了。关于UDP的那个问题准备不管他了,要开始重新做一次这个UDP的,不管怎么样还是谢谢你啦,你说的这个解决方法我会试一下的如果还出现问题

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表