随笔分类 - Linux系统编程
摘要:前面文章链接如下: 《从0实现基于Linux socket聊天室-多线程服务器模型-1》 《从0实现基于Linux socket聊天室-多线程服务器一个很隐晦的错误-2》 《从0实现基于Linux socket聊天室-实现聊天室的登录、注册功能-3》 上文中,我们基于多线程的框架,实现了注册和登录的
阅读全文
摘要:上一篇我们已经讲了如何搭建一个多线程的服务器模型,可以支持多个客户端同时连接服务器,本篇我们来实现多个客户端,如何实现向服务器注册信息,并实现登录的功能。 数据结构 接着上一篇的实例代码继续增加功能。 要实现注册和登录功能,那么我们就必须要让服务器和客户端在交互数据包的时候按照统一的格式收发信令。
阅读全文
摘要:根据 《0 基于socket和pthread实现多线程服务器模型》所述,server创建子线程的时候用的是以下代码: pconnsocke = (int *) malloc(sizeof(int)); *pconnsocke = new_fd; ret = pthread_create(&tid,
阅读全文
摘要:前言 Socket在实际系统程序开发当中,应用非常广泛,也非常重要。实际应用中服务器经常需要支持多个客户端连接,实现高并发服务器模型显得尤为重要。高并发服务器从简单的循环服务器模型处理少量网络并发请求,演进到解决C10K,C10M问题的高并发服务器模型。 C/S架构 服务器-客户机,即Client-
阅读全文
摘要: 信号量概念 信号量本质上是一个计数器(不设置全局变量是因为进程间是相互独立的,而这不一定能看到,看到也不能保证++引用计数为原子操作),用于多进程对共享数据对象的读取,它和管道有所不同,它不以传送数据为主要目的,它主要是用来保护共享资源(信号量也属于临界资源),使得资源在一个时刻只有一个进程独享
阅读全文