局域网游戏联机原理解析

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
可观测监控 Prometheus 版,每月50GB免费额度
应用实时监控服务-用户体验监控,每月100OCU免费额度
简介: 局域网游戏联机原理解析

00 前情提要

十几年前,在那个互联网并不普及的时代,若是有机会你经过一个网吧,你会经常性的看的一个场景。只见网吧里,一排排大屁股的电脑,一条条交叉的线路,一个个插座上七弯八拐的走线,一群赤裸着上半身神情专注的少年们在哪里释放着他们的青春。

image.png

而你走进一看,你大概率会发现他们中大多数玩的是红警、CS,以及后来的魔兽。

也见,他们呼朋唤友,来来往往的客人里,经常几个人约着一起打把红警、CS,红警里的谭雅、CS里的CT,这是属于他们的青春。

而这个时候,我的脑海里就产生了一个疑惑:两个不同电脑里的角色怎么就能够一起玩了呢?是用电线给他们连接到一起得嘛?
image.png

这个问题,当我学习了计算机网络课程后,豁然开朗

01 通俗解释

当你在局域网开启一个联机游戏的时候,会在自己的主机上自动开启一个特定的监听端口,并且也会扫描当前局域网下开启了该端口的主机,就这样,你就快速找到了可以一起联机游戏的主机

可以打个比方,如果把局域网比作一个街道的话,电脑就是街道上的一户人家,则电脑的端口就是这户人家通往这个街道的其中一个门口。当我们开启一个联机游戏的时候,就好比往一个特定门口派出去一个拿着红旗子的孩子站岗。这个孩子,干了两件事情。

一是摇红旗,告诉大家我这道门开着,欢迎大家来找我玩

image.png

二是观察街道的情况,如果也有人在特定的门口摇红旗的话,就告诉家里人

image.png

就这样,街道里的人就知道,如果要想找人玩,那就找有摇红旗子的人玩。


02 举个栗子

以游戏红色警戒联机为例

image.png

1.观察可联机对象

红色警戒是通过TCP/UDP协议进行数据发送的:每台电脑监听一个固定的UDP端口(比如12345),一旦其他电脑打开局域网联机游戏,这台电脑就向整个局域网所有的电脑的12345端口广播说“我可以来联机游戏,快来找我吧”的信息,这样,其他电脑接收到这个信息,就知道有电脑可以联机游戏

2.加入联机游戏

红警在局域网联机游戏过程中使用的是TCP协议,每个玩家对应一个连接。在真正的局域网中,当有电脑A和电脑B进行联机游戏时,电脑A会使用TCP请求和电脑B进行连接,(地址从UDP中获得,端口是固定的12345),如果主机B答应此连接,就会发送些数据(地图信息,其他玩家信息等),这样电脑A的玩家就加入了游戏,此后两电脑就使用这个TCP连接通讯。

image.png


03 延伸思考

在上文中,我们知道了局域网联机是如何进行的,那么接下里我们可以延伸思考一下,对战平台是怎么联机的呢?

image.png

你身处上海,我身处北京,并不是处于一个局域网,那为什么可以通过对战平台来一起打一把魔兽呢?

这里啊,我们可以打个比方,我们不再是门口挥舞旗子的小孩子啦,我们长大了。我们走出房门,一起找了个网吧,到了网吧里,连上了一个局域网,就可以开心的联机咯。

对,实际上对战平台,就是相当于提供了一个中间平台,一个虚拟局域网。这样就可以让联机的双方都能接入一个虚拟局域网,这这个虚拟局域网下,就相当于在局域网内联机了。



04 简单总结

来简单总结一下,

局域网内是如何联机的呢?
当你开启一个联机游戏的时候,会在自己的主机上自动开启一个特定的监听端口,并且也会扫描当前局域网下开启了该端口的主机,就这样,你就快速找到了可以一起联机游戏的主机

对战平台是如何联机的呢?
实际上对战平台,就是相当于提供了一个中间平台,让联机的双方都能接入一个虚拟局域网,这这个虚拟局域网下,就相当于在局域网内联机了

目录
相关文章
|
18天前
|
存储 缓存 算法
HashMap深度解析:从原理到实战
HashMap,作为Java集合框架中的一个核心组件,以其高效的键值对存储和检索机制,在软件开发中扮演着举足轻重的角色。作为一名资深的AI工程师,深入理解HashMap的原理、历史、业务场景以及实战应用,对于提升数据处理和算法实现的效率至关重要。本文将通过手绘结构图、流程图,结合Java代码示例,全方位解析HashMap,帮助读者从理论到实践全面掌握这一关键技术。
63 13
|
2月前
|
运维 持续交付 云计算
深入解析云计算中的微服务架构:原理、优势与实践
深入解析云计算中的微服务架构:原理、优势与实践
72 1
|
3月前
|
存储 算法 Java
解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用
在Java中,Set接口以其独特的“无重复”特性脱颖而出。本文通过解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用。
63 3
|
4天前
|
存储 物联网 大数据
探索阿里云 Flink 物化表:原理、优势与应用场景全解析
阿里云Flink的物化表是流批一体化平台中的关键特性,支持低延迟实时更新、灵活查询性能、无缝流批处理和高容错性。它广泛应用于电商、物联网和金融等领域,助力企业高效处理实时数据,提升业务决策能力。实践案例表明,物化表显著提高了交易欺诈损失率的控制和信贷审批效率,推动企业在数字化转型中取得竞争优势。
35 14
|
4天前
|
存储 算法 安全
基于红黑树的局域网上网行为控制C++ 算法解析
在当今网络环境中,局域网上网行为控制对企业和学校至关重要。本文探讨了一种基于红黑树数据结构的高效算法,用于管理用户的上网行为,如IP地址、上网时长、访问网站类别和流量使用情况。通过红黑树的自平衡特性,确保了高效的查找、插入和删除操作。文中提供了C++代码示例,展示了如何实现该算法,并强调其在网络管理中的应用价值。
|
12天前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
60 1
|
2月前
|
运维 持续交付 虚拟化
深入解析Docker容器化技术的核心原理
深入解析Docker容器化技术的核心原理
53 1
|
2月前
|
存储 供应链 算法
深入解析区块链技术的核心原理与应用前景
深入解析区块链技术的核心原理与应用前景
60 0
|
2月前
|
算法 Java 数据库连接
Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性
本文详细介绍了Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性。连接池通过复用数据库连接,显著提升了应用的性能和稳定性。文章还展示了使用HikariCP连接池的示例代码,帮助读者更好地理解和应用这一技术。
63 1
|
2月前
|
JavaScript 前端开发 API
Vue.js响应式原理深度解析:从Vue 2到Vue 3的演进
Vue.js响应式原理深度解析:从Vue 2到Vue 3的演进
67 0

推荐镜像

更多