从云服务器向LAN上的设备发送通知

时间:2015-09-10 20:20:05

标签: notifications server

我正在尝试执行以下操作:

  • 我的局域网外有自己的服务器
  • 我的局域网(路由器后面)有多个客户端

我希望服务器在客户端“注册”服务器之后通知特定客户端某些事件。例如,客户端可以指示打开哪个端口,并发送IP地址。

我看到的所有问题都与谷歌云等云服务有关,但我对此并不感兴趣。

我面临的问题是:

  • 服务器将看到路由器的IP而不是设备的IP。假设我在客户端上打开端口5555,服务器在端口5555向路由器的IP发送一条消息,路由器是否将该消息转发给所有设备/没有设备/或仅转发到具有端口转发的IP?

我很困惑因为: - 如果无法发送到特定设备,多个设备如何浏览互联网并使用telnet / ftp ...?不知何故,数据包正在找到正确的设备。

我知道我遗失了一些东西,但我不知道它是什么,以便提出正确的技术问题。

问题是:

在客户端向服务器注册后,如何将特定消息从服务器发送到LAN上的多个客户端之一?

1 个答案:

答案 0 :(得分:1)

您的LAN已连接到外部网络,并且很可能正在进行NAT,因此内部IP地址与外部网络上的IP地址不同。

广泛使用的NAT形式不仅可以转换IP地址,还可以转换端口号。这允许许多内部LAN设备在外部网络上共享相同的单个IP。家用路由器通常使用这种方法。

当内部网络上的设备连接时。路由器会记住使用了哪个外部端口,并将任何返回的流量定向到正确的内部设备。这是运行telnet / ftp等的多个设备可以访问互联网以回答您的第一个问题。

但是,如果没有帮助,进入LAN的新连接将无法路由到特定的内部设备。路由器不知道在哪里发送它以前没有记住的请求。

但是,大多数路由器都有一个称为端口转发的功能,您可以在其中指定如何处理来自外部网络的特定端口的请求。如果您设置端口转发并以某种方式将该信息提供给LAN外部的服务器。它可以向这些端口发送请求,路由器会将其传递给您预先配置的匹配的内部IP和端口号。

如果您认为您没有使用带端口转换的NAT(它有许多不同的名称),请告知您。然后其他人可以进一步建议

相关问题