本人已经会接受连接并正常通讯,但不知道怎么样拒绝连接。
注意不是断开连接。是在Socket.AcceptAsync() 函数里拒绝这个连接。
服务端这样写的话
注意不是断开连接。是在Socket.AcceptAsync() 函数里拒绝这个连接。
服务端这样写的话
e.SocketError = SocketError.AccessDenied; try { e.AcceptSocket.Shutdown(SocketShutdown.Send); } catch (Exception) { } e.AcceptSocket.Close(); return;
客户端
if (_connSAEA.SocketError == SocketError.Success)
的结果还是True
解决方案
30
没有所谓的拒绝连接的概念,你server不BeginAccept就是拒绝全部链接,反之既然你BeginAccept了,那就相当于同意连接请求,最多是在某种条件下,在Accept时候直接切断连接不进行后续通信
10
一般直接丢个异常给他,当然假如防火墙支持,可以直接在代码里编写防火墙规则,让防火墙本人拦截