网络
文章平均质量分 72
白霞
为了更好的生活,加油。
展开
-
高级计算机网络
第一章:网络复习概述1.1什么是计算机网络从构成的角度来看:(1) 点:(端系统,网络应用)+路由器等网络交换设备(2) 边:链路(3) 协议:对等层实体在通信过程中所遵循的规则的集合:语法+语义+时序从服务的角度来看:(1) 能够为应用提供通信服务的通信架构(有连接可靠的服务和无连接的不可靠服务)(2) 使用通信服务相互配合工作的分布式应用1.2网络边缘(1) 网络的结构=网络边缘(应用,主机)+网络核心(路由器等网络交换设备及链路)+接入网络与通信链路(2) 网络边缘:运行应用的端原创 2022-01-27 10:22:11 · 3482 阅读 · 0 评论 -
Protocol buffer(Protobuf) 使用教程
概念protobuf是Google内部的混合语言数据标准,是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行话,或者说序列化。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。对比XML和JSON:优点:性能方面:体积小,序列化后,数据大小可缩小约3倍。序列化速度快,比XML和JSON快2~50倍传输速度快:;因为体积小,传输起来宽带和速度都会优化 使用方面:使用简单,proto编译器自动进行序列化和反序列化原创 2021-12-05 21:59:03 · 2668 阅读 · 0 评论 -
粘包和拆包问题
粘包问题在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的。因此TCP的socket编程,收发两端(客户端和服务器端)都要有成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小、数据量小的数据,合并成一个大的数据块,然后进行封包。这样,接收端,就难于分辨出来了,必须提供科学的拆包机制。服务器接收缓存池中读取数据会产生粘包问题,就是服务器同时接收两个包放入缓存池中,如果这个时候没有什么标记每个包的边界的话,将会将这个原创 2021-09-11 14:45:32 · 113 阅读 · 0 评论 -
网络同步策略
在CS架构中,无论采用什么样的同步方法,都始终遵循着客户端向服务器发送消息,服务器收到消息后稍作处理,再把这条消息发给需要的客户端们。所传递的消息可以是玩家的位置、旋转这样的状态值,可以是“向后走“这样的指令值。前者称为状态同步,后者称为指令同步。难点:由于存在网络延迟和抖动,先发送的包可能后到,后发的包可能先到,往往很难做到精确的同步。网络延迟参考:局域网:0.1毫秒PC宽带-外网服务器:12毫秒手机WiFi-外网服务器:25毫秒手机4G-外网服务器:50毫秒假设客户端每隔0.033秒向服务原创 2022-01-05 11:56:03 · 968 阅读 · 0 评论 -
帧同步简单流程
概念:服务器把所有的操作同步给所有的玩家,玩家在本地客户端根据服务器发过来的操作来推进游戏(同样的代码+同样的输入=同样的结果)优点:实时性非常好缺点:所有计算都放在客户端,容易作弊,跟单机没有太大的区别,不能同时同步的玩家太多,服务器每隔一段时间,将采集的玩家的操作,发给所有的客户端,继续采集下一次的操作,等下一次时间到,又把采集到的操作发送给所有客户端客户端:收到服务器的操作--------计算游戏逻辑—上报下一帧的操作给服务器帧的次数:上限取决于网络传输时间,下限取决于用户体验流畅数目[1原创 2022-01-05 11:57:00 · 2891 阅读 · 0 评论 -
Socket补充
Poll:为了处理同步程序阻塞问题同步接收,发送,监听原理:如果缓存池中有数据可读或者可写,在进行写实现:bool Poll(int microSeconds, SelectMode mode);microSeconds:等待回应时间,以微妙为单位,如果为-1,表示一直等待,如果为0,表示非阻塞mode:SelectRead:如果Socket可读(可以接收数据),返回true,否则返回falseSelectWrite:如果socket可写,返回true,否则返回falseSelectError原创 2022-01-05 11:59:25 · 754 阅读 · 0 评论