假如你是一位C# winform工程师,帮我写一段socket断开监听函数
时间: 2023-07-31 17:07:24 浏览: 84
C# Winform WiFi通讯 TCP协议 Socket通讯 上位机文件,注释超详细!自己项目的一部分,从头开始搭的
好的,以下是一个简单的 C# WinForms 程序中的 Socket 断开监听函数:
```csharp
private void StartListening(Socket socket)
{
bool isDisconnected = false;
while (!isDisconnected)
{
try
{
byte[] buffer = new byte[1024];
int bytesReceived = socket.Receive(buffer);
if (bytesReceived == 0)
{
// 断开连接
isDisconnected = true;
// TODO: 处理断开连接的逻辑
}
}
catch (SocketException)
{
// 断开连接
isDisconnected = true;
// TODO: 处理断开连接的逻辑
}
}
}
```
这个函数会在一个循环中监听某个 Socket 的状态,如果收到了0字节的数据或者 Socket 异常,则认为连接已经断开。在这个函数中,你可以添加一些自己的逻辑,比如向服务器发送一条断开连接的消息,或者关闭当前连接的窗口等等。
阅读全文