【问题标题】:C# tcp server clientC# tcp 服务器客户端
【发布时间】:2017-06-19 12:25:29
【问题描述】:

好的,我在端口 1302 上运行了一个 tcp。我已经在我的路由器上转发了服务器 IP。但是客户端和服务器如何相互发送消息......客户端是否也必须进行端口转发。如果是这样,有没有办法解决这个问题?

【问题讨论】:

  • 退后一步,想象你是另一个人,第一次阅读这个问题。你明白OP在说什么吗?
  • 我真的不明白。 TCP 在 1302 端口上运行意味着什么?服务器在哪里,客户端在哪里?您是在尝试通过 Internet 还是在本地网络上进行通信?提供足够的细节很重要。一般来说,如果你有“真正的客户端-服务器”通信,客户端与服务器通信,服务器发回响应,所以不需要端口转发客户端。
  • 接收传入连接时需要端口转发。 (客户端) 如果您的客户端位于防火墙后面,它将通过防火墙启动连接,您的防火墙知道客户端在哪里,并跟踪双方。 (服务器) 您的服务器将等待,直到客户端启动连接。如果您的客户端从互联网连接,它将首先到达您的防火墙/路由器,如果您没有端口转发端口,您的路由器将不知道如何处理它并拒绝连接请求。

标签: portforwarding tcpserver


【解决方案1】:

我假设您在本地网络中有一台服务器(即没有全局 IP 地址),并且您在路由器上设置了端口转发,让客户端向您的应用程序发送消息,该应用程序在端口 1302 上运行在服务器上,对吗?如果是这样,客户端不需要设置他们的端口转发,因为它是由他们的本地提供商网络自动完成的。很典型:没有全局IP的服务端(接收消息的监听器)需要端口转发,而客户端(最先发送消息的)不需要端口转发。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-26
    • 2019-02-26
    • 1970-01-01
    • 2019-12-20
    • 2015-12-29
    • 2019-04-18
    • 2014-09-08
    • 2020-07-15
    相关资源
    最近更新 更多