解决udp socket报socketException使得服务端不再正常工作

本文介绍了在C#中实现UDP服务端时遇到的SocketException问题,特别是错误代码10054,意为“远程主机强迫关闭了一个现有的连接”。当客户端频繁打开、关闭导致此异常时,服务端会停止接收请求,但线程并未退出,影响正常运行。解决方案是正确捕获并处理此类异常,确保服务能够持续监听和恢复。
摘要由CSDN通过智能技术生成

在写服务端udp socket接受数据时,曾遇到一个不容易察觉的问题:
------由于客户端的不正常操作/关闭(频繁打开、关闭,就会出现这个不容易察觉的问题),导致服务端遇到异常:SocketException,错误代码:10054,异常信息描述:“远程主机强迫关闭了一个现有的 连接”。
------如果是在一个一直监听请求的线程里捕获该异常,遇到此问题时,表现为不再接收请求,线程未推出,貌似一切正常。

话不多说,解决方案如下:
private Socket NewUdpSocket(ushort port)
        {
   
           //初始化udp socket 
            Socket localUdpSocket = new Socket(AddressFamily.InterNetwork, SocketType.</
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值