我如何使用该端口将消息从服​​务器发送到客户端?

How I can send message from server to client using the port?

我正在使用 Tcplistener 在端口上侦听请求。当请求来自客户端时,我想知道发出请求的客户端 ip。 问题是:服务器和所有客户端采用相同的 Ip

所以我决定通过端口从服务器向客户端发送消息...我在 google 上搜索了很多但是我不知道如何使用端口从服务器向客户端发送消息?那么任何人都可以帮助我吗?

客户端没有侦听 传入 连接,因此服务器向客户端发送消息的唯一方法是使用 existing 连接,之前由客户端建立。

在现有连接上发送消息时不必指定端口号,您的服务器只需使用:

Socket handlerSocket = tcpListener.AcceptSocket();
// a connection is now established, "handlerSocket" can be used for both receiving and sending messages
handlerSocket.Send(...);

您的客户端当前正在发送数据并立即关闭连接,但您必须修改它们以从 NetworkStream 读取数据才能接收任何内容。

有大量教程可供使用,我想您只是用谷歌搜索了错误的关键字。您是否尝试过 c# chat tutorial?

你是 运行 他们都在同一台计算机上。这就是 IP 始终相同的原因。

这种东西的SOP是有两个端口:一个控制端口和一个数据端口。

其工作方式是:

  • 控制端口用于发起连接。
  • 连接成功后,服务器和客户端协商一组用于数据的端口(本地服务器数据端口和远程客户端数据端口)。
  • 服务器从本地服务器数据端口建立到远程客户端数据端口的连接。
  • 客户端通过控制端口发出数据请求(例如命令)
  • 服务器通过数据端口发回信息。