`
nkadun
  • 浏览: 55527 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

epoll + lua 简单游戏服务器(一)

阅读更多
边学习C语言边写个简单的游戏服务器玩。

--epoll监听读事件
--利用epoll_wait的timeout做idle处理
--数组下标索引客户端连接数据(没找到好用的hashmap库)
--json作为数据交互格式
--luajson luapgsql

/**客户端连接结构体*/
typedef struct client_data
{
	int fd;
	int read_len;
	int data_len;
	char read[READ_SIZE];
	long last;
} client_data;


int epollfd; //epoll文件描述符
int fds[MAX_FD]; //客户端文件描述符对结构体索引 fds[65535] = 10
client_data *clients[MAX_CLIENT]; //客户端连接数据 clients[10] = malloc(...)
0
3
分享到:
评论

相关推荐

    Lua游戏服务器框架开源源码-----crossover

    crossover,作为一款基于Lua的游戏服务器框架,为开发者提供了一种高效、灵活的构建游戏服务的解决方案。本文将深入探讨crossover的核心特性、架构设计以及如何运用到实际项目中。 首先,我们要理解crossover的基本...

    cpp-silly是一个基于lua的轻量级服务器框架

    cpp-silly是一个基于Lua的轻量级服务器框架,它的设计目标是为开发者提供一个易于使用且性能优秀的服务器程序开发平台。这个框架的核心特点是利用了Lua的脚本语言特性,允许开发者快速编写业务逻辑,同时结合C/C++的...

    Nginx 与Lua 工具

    OpenResty是Nginx与Lua结合的典范,它是一个基于Nginx核心的完整Web应用程序框架,集成了LuaJIT(Lua的Just-In-Time编译器)以及一系列精心挑选的Nginx模块,如lua-nginx-module和ngx_http_lua_module,这些模块使得...

    silly:基于lua的轻量级服务器框架

    `silly`是一个基于Lua语言构建的轻量级服务器框架,专为快速开发高效、高性能的网络服务而设计。它的核心特点在于简洁、易用且具备良好的可扩展性,适合小型到中型规模的项目需求。在本文中,我们将深入探讨`silly`...

    quanta-master.zip

    Quanta Master,作为一个基于Lua的分布式游戏服务器引擎框架,为游戏开发者提供了强大的工具和平台,使得构建大规模、高并发的在线游戏成为可能。本文将深入探讨Quanta Master的设计理念、核心特性以及实际应用中的...

    cpp-rAthena一个开源跨平台的MMORPG服务器

    rAthena是一款开源、跨平台的MMORPG(大型多人在线角色扮演游戏)服务器,它为开发者提供了构建和维护网络游戏的强大框架。这款服务器软件以其高度可定制性、灵活性和稳定性而受到社区的广泛欢迎。rAthena基于C++...

    NGINX高性能WEB服务器详解

    epoll原理与实战.pptx Lua分享.pptx Mastering Nginx - PP 2013.pdf MongoDB权威指南.pdf nginx.conf nginx共享内存.doc nginx核心讲解.pdf Nginx高性能Web服务器详解.pdf NGINX高性能WEB服务器详解_PDF电子书下载 ...

    vinbero:模块化服务器

    "epoll"是Linux内核提供的一个I/O多路复用技术,用于高效地管理大量并发连接,这在现代高性能服务器中是非常关键的一个特性。它允许服务器同时等待多个网络连接事件,而不是在一个事件上阻塞,极大地提高了系统资源...

    网络游戏-服务脚本执行和管理的网络体系结构和方法.zip

    这些脚本可能用各种编程语言编写,如Lua、Python或C#,并由游戏引擎支持。 2. **网络体系结构**:网络游戏的网络体系结构设计是确保多玩家同步、低延迟通信的关键。常见的架构有客户端-服务器(Client-Server)、...

    tengine 淘宝web服务器

    Tengine提供了一系列额外的模块,如动态脚本语言支持(如Lua、Perl),日志统计分析模块,Web管理界面,以及用于内容分发网络(CDN)的模块等,这些模块大大扩展了Nginx的基本功能。 7. **热更新与热重启** ...

    Nginx服务器的内部核心架构设计.docx

    ### Nginx服务器的内部核心架构设计 ...通过以上分析,可以看出Nginx的强大之处不仅在于其高性能的处理能力,还在于其灵活的架构设计和丰富的功能模块,这些特性使得Nginx成为当今互联网中最受欢迎的Web服务器之一。

    高级服务器设计和实现(架构、手段与工具箱)_PPT.pdf

    综上所述,高级服务器设计和实现是一个涉及广泛领域的综合工程,需要对服务器架构、运维工具、性能优化策略等有深入理解和实践。通过合理选择和运用这些知识点,可以构建出高效、稳定且易于维护的服务器系统。

    (2021-2022年)专题资料完美版高级服务器设计和实现-(架构、手段与工具箱).ppt

    本资料详尽地探讨了这一主题,旨在提供一个全面的指南,帮助IT专业人员优化服务器设计和实现。 首先,服务器设计的核心在于架构。其中,脚本语言如Lua和Python常用于编写灵活且高效的工程文件。ACE的mpc和Gnu ...

    Redis客户端连接支持版本2.8+

    2. **多路复用**:在2.8版本中,Redis开始支持多路复用技术,如epoll和kqueue,使得一个客户端连接可以同时处理多个命令请求,提高了并发处理能力。这意味着服务器可以处理更多的并发连接,而无需创建额外的线程或...

    nginx基础知识.pdf

    * 第三方模块:第三方模块是为了扩展 Nginx 服务器应用,完成开发者自定义功能,如:Json 支持、Lua 支持等。 Nginx 多进程模型 Nginx 的多进程模型是指服务器每当收到一个客户端时,就有服务器主进程(master ...

    redis第二次课笔记1

    1. 减少网络通信:Lua脚本可以一次性发送并执行多个命令,减少客户端与服务器间的网络交互。 2. 原子性:整个脚本作为一个原子操作执行,避免竞态条件。 3. 可复用性:客户端发送的脚本会被Redis保存,其他客户端...

    cpp-wrk是一种现代的HTTP基准测试工具

    epoll允许wrk在一个线程中等待多个文件描述符的事件,当有事件发生时,操作系统会通知wrk,避免了不必要的轮询操作,降低了CPU占用率。 - **kqueue(FreeBSD)**:与epoll类似,kqueue也是用于监控文件描述符事件的...

    nginx-1.16.0.zip

    Nginx是一个高性能的HTTP和反向代理服务器,也是一款轻量级的Web服务器/邮件服务器,被广泛应用于互联网行业,以处理高并发、低内存消耗的特性而著名。"nginx-1.16.0.zip"是一个包含了Nginx 1.16.0版本的压缩文件,...

    第3章 反向代理与负载均衡.docx

    一致性哈希是一种更高级的策略,它确保相同的数据总是被路由到相同的服务器,即使在服务器增减时也能保持一致性。 【Java应用】在Java开发中,反向代理和负载均衡同样重要。Java应用程序可以通过反向代理服务器接收...

    skynet_vs2017.zip

    Skynet,一个轻量级、高性能的分布式系统框架,以其微服务架构和强大的网络通信能力,在游戏服务器开发、物联网(IoT)等领域得到了广泛应用。本资料包"skynet_vs2017.zip"提供了Skynet在Visual Studio 2017环境下编译...

Global site tag (gtag.js) - Google Analytics