【发布时间】:2016-11-16 14:33:59
【问题描述】:
我正在使用 Tcplistener 在端口上侦听请求。当请求来自客户端时,我想知道发出请求的客户端 IP。 问题是:服务器和所有客户端都使用相同的 Ip
所以我决定通过端口从服务器向客户端发送消息...我在谷歌上搜索了很多但我不知道如何使用端口从服务器向客户端发送消息?那么任何人都可以帮助我吗?
【问题讨论】:
标签: c# client-server tcp-ip
我正在使用 Tcplistener 在端口上侦听请求。当请求来自客户端时,我想知道发出请求的客户端 IP。 问题是:服务器和所有客户端都使用相同的 Ip
所以我决定通过端口从服务器向客户端发送消息...我在谷歌上搜索了很多但我不知道如何使用端口从服务器向客户端发送消息?那么任何人都可以帮助我吗?
【问题讨论】:
标签: c# client-server tcp-ip
客户端没有监听 incoming 连接,因此服务器向客户端发送消息的唯一方法是使用 现有 连接,这是以前的由客户建立。
在现有连接上发送消息时,您不必指定端口号,您的服务器可以使用:
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是有两个端口:一个控制端口和一个数据端口。
它的工作方式是:
【讨论】: