打开/关闭服务器联机 C#

本文关键字:联机 服务器 打开 | 更新日期: 2023-09-27 18:36:53

我正在用C#制作一个简单的客户端到服务器设置。我有两个单独的程序。我正在尝试让我的服务器能够通过使用复选框来打开在线或离线。我在网上查看了一下,发现可以使用socket.blocking?但是我尝试实现它,但它不起作用。当我检查文本框以使服务器脱机时出现错误,指出"对象引用未设置为对象的实例"。这是我的复选框函数中的代码:

if (checkBox1.Checked)
{
    server.Blocking = true;
}
else
{
    server.Blocking = false;
}

我这样做的方式是否正确?我不希望服务器关闭,而是对客户端不可用。这就是为什么我决定最好使用阻止方法?

任何帮助将不胜感激谢谢

打开/关闭服务器联机 C#

服务器应处于侦听或开始侦听调用中。您希望在用户取消选中服务器 UI 上的框时停止侦听。如果您使用的是 TcpServer,请使用 Stop 方法。对于套接字,使用关机后跟关闭。在执行侦听的任何例程或线程中都可能存在例外。

对于这两个类,你基本上都在拆除一切。没有一个简单的"暂时停止收听"属性。当他们取消选中该框时,您需要拆除套接字,然后在他们再次选中该复选框时从头开始构建新的套接字或 TcpServer。最接近的做法是继续接受连接,但一旦有人连接,立即关闭它们。我不喜欢这种方法。

拆解过程中正确的协议颤动作为练习:)IOW,请考虑搜索如何正确拆除套接字或 TcpServer 对象以及如何完成挂起的读取和写入。

H^2