<子> 2)ZMQ套接字无法通过互联网进行通信,即使通信严格在两个ZMQ套接字之间进行 子>
没有太多可补充的内容。
<子> 1)NAT - 它不会让我的消息到达客户端主机, 子>
是的,当本地LAN路由器连接到单个公共(注册的,协调的IPv4 / IPv6地址)时,NAT可以就位。
接下来,游戏中可能会有另一个显示停止点,FireWall,放在一个或多个地方(!) - 无论是本地操作(操作系统操作,如果管理员级别登录,可以检查) localhost)或一个,集成到任何网关/代理/策略实施中。
在任何情况下,都应该与您的本地管理员进行彻底的设计审查,负责localhost-O / S和网络基础设施元素以及负责网络的安全管理员/工程师。
这种(主要的)复杂性正是Game Studios试图避免用户解决这些复杂问题并试图提供一些逃避策略的原因。
的 对于一个简单的案例1:1: 强> 确实可以使用一组规则进行端口转发设置(如果FireWall + Gateway工程允许),并且您的ZeroMQ连接可能会被定向到 的 tcp://<public-IP>:<_a_port#_known_to_be_FWDed_to_a_target_HOST_> 强> 地址。
tcp://<public-IP>:<_a_port#_known_to_be_FWDed_to_a_target_HOST_>
的 更多,但仍然单位: 强> 对于单个连接设置来说,这种情况似乎很容易,但如果需要有单位或数十个目标主机,那么来自网关(路由器)/防火墙管理员的意愿相当有限,无法在野外打开越来越多的端口安全边界的一面。这里的另一个技巧可能有所帮助 - 使用标准 的 ssh 强> -tools,其中连接可以利用所谓的本地端口转发和远程端口转发,并且互连享有单端口以通过防火墙+网关,并且内容受加密保护。当然,双方都需要更多的管理工作,但是,如果这些努力和稍微增加的延迟(添加加密+解密处理)不会破坏您的游戏内UX延迟计划,那么这是一种已知且聪明的方法。
ssh
的 更多,超过几个单位: 强> 有一种选择可以重新使用ad-hoc,但是一种安全威胁的双面剑 - 一个多玩家共享(!)VPN,它解决了全球“可见性”问题(最常见的是一些中心问题(可以发布)或不)服务供应映射和认证服务协调器)。 localhost端应用程序只是开始看到另一个“本地”接口,与其IPv4 / IPv6地址不协调,但这个私有共享VPN似乎加入所有玩家,看起来好像全部这些共享一个共同的IP网络,有效地绕过了共同网络实践的所有安全/防火墙工作 - 这同时也是最大的实施风险(没有提到远程主要SPOF的风险) ,中央,授权/制图服务提供商,是他们发布或隐藏的一系列动机)。
自多玩家游戏开始出售以来,游戏行业对所有这些问题感到恐慌(2018年/ Q2游戏玩家看起来像 的 从此 强> 并且该行业正在努力避免所有这些与复杂性相关的痛苦,因为游戏购买青少年的主要部分预计也不会同时获得患者的持久性(系统地制定正确的设置)和足够深入的知识(以便了解设置或重新配置的位置和内容的所有系统范围的详细信息,以便解锁安全的端到端在线游戏内可见性)。
的 对于多对多案例: 强> 一个很好的例子是在1990年代末期/ 2000年初开始的,当时IL-2 Sturmovik的飞行员和虚拟中队社区24/7/365“从此以后”开始运作。他们使用社区赞助 的 HyperLobby 强> 一个 的 中介节点 强> 拥有一切这些复杂性一劳永逸地解决了所有感兴趣的会员。 HyperLobby轻量级客户端/服务器服务基础架构正在进行所有端口转发映射设置和其他服务器端中介脏操作,这些操作对于Pilot都是不可见的,并且提供了额外的方法来管理IL-2的许多连接的多玩家游戏影院,F / A-18,苏-27侧卫,CFS,荣誉勋章等等,比我今天想要记住的那样(在高峰时段超过成千上万的连接飞行员IIRC)。几十年来真正的全球在线社区(荣幸地服务于伪历史VFSQ,成员遍布13个时区 - 从夏威夷,巴西,美国,英国,法国,德国,意大利,希腊到土耳其 - 与来自日本,澳大利亚,新西兰和许多其他地方的同样志同道合的朋友一起飞往全球 - 无论是东/西前线+太平洋剧院全球协调的周末活动 - 任务重建直至历史细节或享受纪念馆V-Day纪念日的游行天桥 - 的 〜礼炮〜 强> Jiri Fojtasek,确实做得很好! - 其中的想法有助于说明前进/后续的方式(因为许多年轻的游戏门户确实遵循这条道路)。