C#使用UDP协议开发服务端遇到的问题~~ 20

各位老师,我想请教一个问题,我写了两个小程序,一个是Udp的服务端,一个是客户端,客户端发送数据给服务端,服务端返回处理结果给客户端。为什么客户端收不到服务端返回的数据?... 各位老师,我想请教一个问题,我写了两个小程序,一个是Udp的服务端,一个是客户端,客户端发送数据给服务端,服务端返回处理结果给客户端。
为什么客户端收不到服务端返回的数据?用TCP&UDP测试工具却可以收到?用抓包工具也可以看到数据已经发出去了...
展开
 我来答
Ben
2013-04-24 · 知道合伙人软件行家
Ben
知道合伙人软件行家
采纳数:860 获赞数:2875
认真回答者.

向TA提问 私信TA
展开全部
0.0!
为什么?
为什么呢= =
嗯...

客户端用UdpClient的Send方法发送数据,用BeginReceive方法接收数据;如果服务端都用异步接收和发送就没问题;但是我想再提高效率,从网上下载了一个程序用的
SocketAsyncEventArgs
来接收数据,
发送用的Socket,
这样服务端可以接收到数据,但是客户端收不到"返回"的数据。

"TCP&UDP"
测试工具却可以收到。不知道是为什么。。

亲..看看UDP协议先.

UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。

提供面向事务的简单不可靠信息传送服务

是 OSI 参考模型中一种无连接的传输层协议

无连接的传输层协议

无连接.

这三个字意味着
当你的UDP客户端返回值的时候.
已经不是刚刚发送值所建立的通信管道了
所以
你正常返回了
但是对面没有收到.

TCP&UDP测试工具是侦听所有来到本电脑的所有数据

所以.他收到了.
抓包是抓取所有发出的数据.所以他也抓到了

可惜的是
你返回的通信管道已经不是你的两台编码计算机第一次通信的管道.所以.返回是返回了.但是不知道返回到哪个端口.哪个时间段,哪个位置了.

这个是概念上的错误.如果还有不明白.请继续提问.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syht2000
高粉答主

2013-04-23 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
你在客户端开了UDP的监听没有?
追问
客户端用UdpClient的Send方法发送数据,用BeginReceive方法接收数据;如果服务端都用异步接收和发送就没问题;但是我想再提高效率,从网上下载了一个程序用的SocketAsyncEventArgs来接收数据,发送用的Socket,这样服务端可以接收到数据,但是客户端收不到返回的数据。用TCP&UDP测试工具却可以收到。不知道是为什么。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式