UDP通讯的接收超时问题(receiveTimeout)
2005-09-26 15:02
525 查看
由于项目需要,首次接触到网络编程,也有缘碰到了UDP;了解了UDP通讯的基本概念和编程知识后,结合网上的部分事例便着手设计UDP通讯程序;测试通过后欣喜若狂,便交给用户试运行,没想到结果却令我大失所望,客户端程序很不稳定;仔细分析后发现是UDP通讯问题,由于客户端是周期性地向服务器请求数据,若客户端的请求指令或是服务端发来的数据包丢失的话,那么客户端将一直等待,陷入假死状态。
所以问题在于要设定客户端接收的超时时间,若服务器端无相应,客户端应该抛出异常,而不是毫无意义的等待。
在网上查阅了大量资料,也发了不少帖子,但始终还是没有解决问题!
直到今天,我按照以前同样的方法,仔细作了一遍,终于大功告成,UDP接收过程设定的超时时间生效!但以前失败的原因还是不得而知,为使以后少走弯路,特将成功后的代码贴出:
using System;
using System.Text;
using System.Net;
using System.Net.Sockets;
using YD.ZYCAlarm.Buffer;
namespace YD.ZYCAlarm.UDPCommunicate
所以问题在于要设定客户端接收的超时时间,若服务器端无相应,客户端应该抛出异常,而不是毫无意义的等待。
在网上查阅了大量资料,也发了不少帖子,但始终还是没有解决问题!
直到今天,我按照以前同样的方法,仔细作了一遍,终于大功告成,UDP接收过程设定的超时时间生效!但以前失败的原因还是不得而知,为使以后少走弯路,特将成功后的代码贴出:
using System;
using System.Text;
using System.Net;
using System.Net.Sockets;
using YD.ZYCAlarm.Buffer;
namespace YD.ZYCAlarm.UDPCommunicate
相关文章推荐
- 关于linux下的udp/tcp通信设置发送sendto/接收recvfrom信息超时的参数。解决通道堵塞问题。
- Activemqcpp 在接收设置了TTL的消息时候,出现receive timeout接收不到消息的问题
- UDP 协议 C# UdpClient乱序接收数据包丢失的问题 Socket ReceiveBufferSize
- MySQL数据库连接超时(wait_timeout)问题的处理
- 问题:“Timeout 时间已到。在操作完成之前超时时间已过或服务器未响应。”的解决方法
- 【发现】如何防止UDPClient的Receive无可接收的数据包引起的阻塞
- MySQL数据库连接超时(wait_timeout)问题的处理
- UDP通讯中数据不能写入文件的问题
- labview UDP高速通讯问题
- 关于android UDP 客户端与delphi UDP服务端通讯中文乱码问题
- linux udp组播接收问题及原理分析
- urlopen关于超时timeout问题的解释
- 关于UDP向本机端口发送数据报但是接收不到数据的问题
- 关于MySQL的wait_timeout连接超时问题报错解决方案
- Socket Receive数据一次性接收不全的问题
- 用udp协议通讯示例 UDP实现广播接收回复的例子
- 转载】MySQL数据库连接超时(wait_timeout)问题的处理
- TimeOut 超时问题解决方案
- 网络UDP广播包发不出去或接收不到问题
- TcpClient的ReceiveTimeout的问题