Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#检查一个港口是否有输入流量_C#_Server_Port - Fatal编程技术网

C#检查一个港口是否有输入流量

C#检查一个港口是否有输入流量,c#,server,port,C#,Server,Port,我有一个服务器,我用来为我和我的朋友运行游戏服务器,其中一些服务器是“可攻击的”(怪物可以摧毁我们的基地),所以我希望服务器在不使用时关闭。然后,我想知道是否有一种方法可以检测给定端口上是否有传入信号(试图连接到服务器),从而打开服务器 原始问题: 如果有人试图通过c#(或其他更适合此操作的语言)中的特定端口发送消息(或连接),是否有方法进行检测?是的,您必须创建一个服务器来侦听该端口。您将面临的问题是,您为检测传入连接而创建的服务器需要关闭,以便打开游戏服务器。它们不能在同一端口上侦听,除非它

我有一个服务器,我用来为我和我的朋友运行游戏服务器,其中一些服务器是“可攻击的”(怪物可以摧毁我们的基地),所以我希望服务器在不使用时关闭。然后,我想知道是否有一种方法可以检测给定端口上是否有传入信号(试图连接到服务器),从而打开服务器

原始问题:
如果有人试图通过c#(或其他更适合此操作的语言)中的特定端口发送消息(或连接),是否有方法进行检测?

是的,您必须创建一个服务器来侦听该端口。您将面临的问题是,您为检测传入连接而创建的服务器需要关闭,以便打开游戏服务器。它们不能在同一端口上侦听,除非它们被编码为一起工作,而您的游戏服务器可能不会这样做。

如果您想查看是否有任何正在使用的连接,您可以尝试列出所有当前TCP连接(假设服务器使用TCP),并查找是否有任何到特定端口的活动连接

Resmon在他的“网络”选项卡中执行此操作,因此必须有一种通过编程方式访问它的方法

下面是描述如何获得活动TCP连接的答案

您可能应该每隔一段时间监控服务器,因为播放机可能会丢失并重新建立连接,所以每隔10秒左右进行一次采样,如果没有连接的样本超过几个,请关闭服务器