游戏服务器总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dyd961121/article/details/81780307

一.实现一个游戏服务器所需要的知识

1.至少得掌握一门编程语言,c++,java ,go .... 。

2.socket,tcp以及通讯方式

3.服务器架构要有一定了解,服务器集群怎么搭建,集群内怎么通讯(游戏服,战斗服,聊天服)

4.数据库

二.客户端与服务器怎么通讯?

     1.涉及到tcp机制粘包分包,因为tcp的这个机制,所以在服务端与客户端必须要有对其进行处理。

     2.协议号,服务器与客户端之间约定的一个编号,服务器与客户端都可以通过这个编号来解析对方想干什么。

     3.protobuf,在真正的工程中不可能使用明文的方式来传输数据,所以用protobuf编码解码来传输数据

     4.基于以上三点所以cs双方通讯的规则为: 包长+协议号+pb数据 (注意前面两个字段应为固定字长,双方约定为

     int8,int16,int32,int64其中一种,视情况而定)

三.线程安全

    1.首先了解为什么会要有线程安全的概念,如果同时多人进行读写操作会有什么后果?

    2.怎么解决?加锁?

    3.给每一个连接上来的客户端都开一个线程有什么弊端?

四.客户端与服务器之间一些基础

     1.心跳(如果客户端非正常下线,服务器的一种检测方式,同时可以加上数据验证)

     2.服务器群发消息

     3.数据结构

这里的所有概念都没有给出解答

参考文献:https://blog.csdn.net/qq_32260719/article/details/79443236

猜你喜欢

转载自blog.csdn.net/dyd961121/article/details/81780307