如何使用端口从服务器向客户端发送消息?

时间:2016-11-15 14:52:07

标签: c# client-server tcp-ip

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

所以我决定通过端口从服务器向客户端发送按摩...我在谷歌搜索了很多但是我不知道如何使用端口从服务器向客户端发送消息?所以身体能帮助我吗?

2 个答案:

答案 0 :(得分:0)

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

在现有连接上发送邮件时,您不必指定端口号,您的服务器可以使用:

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

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

有大量的教程可用,我想你只是用Google搜索错误的关键字。你尝试过c# chat tutorial吗?

答案 1 :(得分:0)

您正在同一台计算机上运行它们。这就是为什么IP总是一样的。

此类SOP的SOP有两个端口:控制端口和数据端口。

这种方式的工作原理是:

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