C#基础知识篇:C#网络编程(Socket)使用poll函数判断连接断开问题

C# Socket使用poll函数判断连接断开问题

最近在学习c#的网络编程内容,遇到这样一个问题:在服务器端,如何判断客户端的一个连接是否断开?
查找相关资料,得出较好的解决方案是使用socket对象的poll函数

poll函数分析

下面是poll函数的官方描述:

public bool Poll (int microSeconds, System.Net.Sockets.SelectMode mode);

这是一个确定socket状态的函数。

参数

microSeconds Int32
等待响应的时间(以微妙为单位)。
mode SelectMode
SelectMode枚举类型中的一个,可选类型为SelectRead,SelectWrite,SelectError

返回值

Boolean 基于mode参数中传递的轮询模式值的socket的状态。

问题产生

  1. 首先,我的问题是从服务器端获得客户端的某个连接是否断开,作为服务器端,是需要对socketClient进行read操作的,因此对于poll函数中的第二个参数,选择SelectRead,这点毋庸置疑。
  2. 我们来看下,关于SelectRead模式的返回值的官方文档解析:
SelectRead:	如果已调用 Listen(Int32) 并且有挂起的连接,则为 true。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值