2017-06-19 160 views
-5

好了,所以我必须在端口1302上运行的TCP我已经转发端口服务器IP我的路由器上。但是,客户端和服务器如何向对方发送消息......客户端是否也必须向前端口转发。如果是这样,有没有办法解决这个问题?C#TCP服务器客户端

+0

退一步,想像你是别人的,阅读的第一次这个问题。你能理解OP在说什么吗? – stybl

+1

我真的不明白。在端口1302上运行的TCP意味着什么?你有哪些服务器,你有哪些客户?你想通过互联网或本地网络进行沟通吗?提供足够的细节非常重要。一般来说,如果您具有“真正的客户端 - 服务器”通信,则客户端与服务器进行通信,并且服务器会发回响应,因此不需要端口转发客户端。 – Artholl

+0

接收传入连接时需要Portforwarding。 **(客户端)**如果您的客户端在防火墙后面,它将启动连接,防火墙知道客户端在哪里跟踪双方。 **(服务器)**您的服务器将等待客户端启动连接。如果您的客户端从互联网连接,它将首先到达您的防火墙/路由器,如果您没有端口转发,您的路由器不知道如何处理它,并会拒绝连接请求。 –

回答

0

我假设你已经在本地网络中的服务器(即没有全球IP地址),并设置端口转发你的路由器有你的应用程序客户端发送消息,其在服务器上运行在端口1302上,对不对?如果是这样,客户端不需要设置其端口转发,因为它由本地提供商网络自动完成。典型的是:没有全局IP的服务器(收入消息监听器)需要端口转发,但客户端(谁是第一个发送消息)不需要端口转发。