0

我正在用 C# 编写一个程序,它基本上服务于一个简单的目的。它应该充当客户端 ping 的服务器。此服务器程序仅用于通过返回 ping 请求来确定计算机是否仍在运行。除了响应 ping 请求之外,我不需要程序将任何信息发送回客户端。简单的 ping 响应足以确认运行应用程序的计算机仍在运行。

我目前正在通过使用 TCP 服务器/客户端来解决这个问题。但是,我似乎无法连接到 TCP 服务器。这是因为服务器需要打开端口 80 才能被 ping 通吗?我的 TCP 服务器代码基于我发现的这个线程:

通过 Internet 使用 TCP 套接字发送/接收字节(可能使用静态 IP)

这种方法有什么本质上的问题吗?或者有没有更简单的方法来创建这个只需要接受和响应 ping 请求的简单服务器?

4

2 回答 2

3

你在客户端做什么?在控制台上调用 ping?这不起作用,因为 ping 不是基于 TCP。如果您正在处理此代码,您的客户端必须连接 TCP 端口 9999 才能获得任何响应 --> 所以您还需要在客户端开发一个特殊的 ping 应用程序。客户端也不能发送任何东西(比如 ping),因为服务器只接受客户端,发送 sth。然后关闭连接。

默认 ping 机制(基于 ICMP)应该已经在您的操作系统中可用,并且足以满足您的用例。它不在那里吗?这可能与某些以太网设置或防火墙有关。

于 2013-10-11T15:31:45.933 回答
0

您可以在服务器上的特定端口上打开一个套接字,然后尝试使用您的客户端连接到它,就像您发布的链接中一样。

于 2013-10-11T15:33:26.123 回答