UDP客户端如何设置接收超时

 时间:2024-10-13 05:40:22

1、我设计了一个简单的类,只有构造函数和发送、接收函数,函数原型如图所示,读者朋友们可以不用定义类。

UDP客户端如何设置接收超时

2、构造函数只是简单的配置socket,设置UDP连接类型,(注意)在此构造函数调用前,确保WSAStartup函数被正确初始化,不然winsock不加载,socket函数将调用失败。

UDP客户端如何设置接收超时

3、send 函数是用于客户端向服务端发送数据,仅仅调用sendto函数即可,这个比较简单。函数调用失败,可以调用WsaGetLastError()函数查找调用失败的原因。一般不会有问题。

UDP客户端如何设置接收超时

4、重点就在这个接收数据的函数实现。如果仅仅调用recvfrom脑栲葱蛸函数,在网络异常状态下,此函数会挂起,不返回。因为默认winso艘早祓胂cket 是阻塞模式,示例的代码可以设置接收timeout,在一定时间内不能接收数据,函数就返回,这样就解决了UDP客户端超时阻塞的问题。

UDP客户端如何设置接收超时

5、文中示例代码分享的代码在百度网盘https://pan.baidu.com/s/1cwcE0u有需要的朋友可以下载查看代码,UDP server的代码我也放在上面了,供调试使用

  • QTP安装过程中如何获取单机许可证永久使用?
  • C#如何绘制一个渐变图形
  • 360卫士怎么设置自动升级卫士和备用木马库
  • 怎么通过CMD将系统端口占用情况导出到文件?
  • weblogic被管节点启动报错transport error 202
  • 热门搜索
    职高有什么专业 青稞是什么 棕色配什么颜色好看 破壁机什么牌子好 相见恨晚什么意思 激素六项检查是什么 listen是什么意思 三缺一是什么意思 什么是物流 typ是什么意思