C#怎么判断一个Socket是否连接

 我来答
fb...l@163.com
2016-09-26 · 超过73用户采纳过TA的回答
知道小有建树答主
回答量:275
采纳率:0%
帮助的人:114万
展开全部
上面所说的方法,是直接利用winsock API编程时用的方法,如果用System.Net,可以这样来获得所accept的客户端的IP地址:
TcpClient client = myListener.EndAcceptTcpClient(ar);
IPAddress clientIP =((IPEndPoint)(client.Client.RemoteEndPoint)).Address;
你可以用一个数组来保存各个已经连接的clientIP,在接受连接时进行判断,如果这个IP已经连接了,则拒绝接受连接。
拒绝接受连接的方法:
if (HaveBeenAccpeted(clientIP)) // 如果这个IP已经连接了{NetworkStream networkStream = client.GetStream();
networkStream.Close(); // 马上断开这个TCP连接
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式