c++游戏服务器编程学习笔记(一)TCP/IP
1.
c++游戏服务器编程
c++运行效率非常高
2.
TCP传输控制协议
IP网际协议
Socket
3.
Linux 乌班图
开源第三方库
BOOST
4.
80%游戏服务器端用C++
工作量最大的地方是具体的游戏逻辑
常见的游戏服务器框架和重点部分的实现
5.
IP网际协议详解
OSI模型 开放系统的通信交互模型 学术性产物的
应用层、表示层、会话层、传输层、网络层、链路层、物理层
6.
IP模型
产生于实践用于实践 成为标准
7.
数据进入协议栈的封装
以太网封装最小46字节,不足的用0
最大1500个字节
8.
IP协议特点:不可靠、无连接
不能保证IP的数据报成功的到达目的地
提供最好的传输服务
9.
网络数据都是按照Big Endian来传送的
IP数据报格式首部字段
家用操作系统little endian
10.
游戏服务器端绝大部分用TCP协议
TCP详解
TCP是如何利用IP的
TCP将应用程序的传输数据分割成合适的数据块
定时器
延迟确认
检验和
流量控制
TCP把应用程序要发送的数据进行封装
TCP,IP没有选项的话首部是20个字节。
11.
TCP首部
12.
TCP的状态变迁
TCP连接确认(三次握手)
13.
TCP断开以及传送数据详解
TCP连接的断开(四次握手)
14.
TCP数据相互传送
交互式与成块的数据两种
时间延迟确认
Nagle算法(游戏开发一般关闭这个算法)
接收窗口大小
15.
用wireshark工具查看TCP连接和断开和TCP杂项
TCP内部使用的定时器:
重传定时器
坚持定时器
保活定时器
2MSL定时器
16.
单向链表反转(考察指针)
struct Node
{
Node* next;
int value; } static Node* reverseList(Node* n){
Node* prev= nullptr;
while(n){
Node* next=n->next;
n->next=prev;
prev=n;
n=next;
}
n=prev;
return n;
}
c++游戏服务器编程学习笔记(一)TCP/IP的更多相关文章
- Python Web学习笔记之TCP/IP、Http、Socket的区别
经常在笔试.面试或者工作的时候听到这些协议,虽然以前没怎么涉及过,但至少知道这些是和网络编程密不可分的知识,作为一个客户端开发程序员,如果可以懂得网络编程的话,他的作用和能力肯定会提升一个档次.原因很 ...
- Python Web学习笔记之TCP/IP协议原理与介绍
HTTP.FTP.SMTP.Telnet等等协议,哦!那个HTTP协议啊就是访问网页用的那个协议啊然后那个······其实······你懂得,我们应该从实际来了解他,理解网络协议的作用与功能,然后再从 ...
- 网络学习笔记:TCP/IP连网和Internet
1.网关 由硬件和软件组成,实现不同网段间的数据传送. 常用路由器充当网关. 网关通常维护一份路由表,但只有少量的编址信息.它用这些信息把数据转发到知道更多信息的网关. 组成互联网骨干的网关称为核心网 ...
- 学习笔记之TCP/IP协议的重要性
1. 随处可见的协议 在计算机网络与信息通信领域里,人们常常提及"协议"一词.互联网中常 用的具有代表性的协议有IP.TCP.HITP等. 而LAN(局域网)中经常使用的协 ...
- 学习笔记之TCP/IP协议分层与OSI參考模型
1.协议的分层 ISO在制定标准化OSI之前,对网络体系结构相关的问题进行了充分的讨论, 终于提出了作为通信协议设计指标的OSI參考模型.这一模型将通信协议中必要 的功能分成了7层.通过这些 ...
- 多线程编程学习笔记——编写一个异步的HTTP服务器和客户端
接上文 多线程编程学习笔记——使用异步IO 二. 编写一个异步的HTTP服务器和客户端 本节展示了如何编写一个简单的异步HTTP服务器. 1.程序代码如下. using System; using ...
- C++游戏服务器编程笔记 IP详解
C++游戏服务器编程笔记 IP详解 IP详解 INTERNET的历史 上世纪60年底起源于美国 1992年,Internet上的主机超过了100万台 现在已经是现代文明人的必需品 TCP/IP的 ...
- Python--网络编程学习笔记系列02 附:tcp服务端,tcp客户端
Python--网络编程学习笔记系列02 TCP和UDP的概述: udp通信模型类似于写信,不需要建立相关链接,只需要发送数据即可(现在几乎不用:不稳定,不安全) tcp通信模型类似于打电话,一定要建 ...
- DirectX 11游戏编程学习笔记之8: 第6章Drawing in Direct3D(在Direct3D中绘制)(习题解答)
本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com 注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候 ...
随机推荐
- JavaScript Patterns 6.4 Prototypal Inheritance
No classes involved; Objects inherit from other objects. Use an empty temporary constructor function ...
- JavaScript(七)——视频插入
代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...
- CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13
CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.132013-10-24 15:31:12标签:服务器 防火墙 file 配置文件 written 一.配置好I ...
- Maven 打包涉及证书文件问题
当使用maven-assembly-plugin或者maven-shade-plugin打包时,如果涉及到证书文件,一定设置过滤,否则证书文件会被做修改.报异常: java.io.IOExceptio ...
- 烂泥:nagios监控单网卡双IP
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 公司的业务有几台服务器存放在IDC机房中,说是双线路.但是我看到网卡的配置是单网卡双IP的形式.如下: 而公司这边的线路是联通的IP,如下: nagio ...
- ab.exe使用
ab.exe是一个性能检测工具,是apache server中的一个小组件,使用简单,方便 下载地址:http://files.cnblogs.com/files/gossip/ab.zi ...
- BestCoder Round #87 1002 Square Distance[DP 打印方案]
Square Distance Accepts: 73 Submissions: 598 Time Limit: 4000/2000 MS (Java/Others) Memory Limit ...
- Miller-Rabin素数快速检测
满足费马小定理 a^(n-1) === 1(mod n) --->伪素数 对于所有a belong Zn*,总存在满足的合数n,称为Carmichael数 ------------- ...
- Interceptor
拦截器是可以控制权限,当用户需要查看查看某些功能的时候,需要判断是不是登录了,如果没有登录的,就可拦截的过程.. 首先,我们都知道struts.xml 中有action 节点, 这个节点表示你想要访问 ...
- C# 匿名函数 详解
匿名函数的定义和用途 匿名函数是一个“内联”语句或表达式,可在需要委托类型的任何地方使用. 可以使用匿名函数来初始化命名委托[无需取名字的委托],或传递命名委托(而不是命名委托类型,传递一个方法块,而 ...