项目需求
设计一个基于Socket或基于HTTP的服务器,服务内容是提供一种简单的key/value映射关系的管 理与查询
下面的所有操作都是通过结构体Node来传递的:
struct Node {
char key[KEY_SIZE];
char value[VALUE_SIZE];
};
本场景中需要cli...
分类:
编程语言 时间:
2015-07-17 16:10:55
阅读次数:
186
// thread.cpp
#include "thread.h"
Thread::Thread(int socketDescriptor, QObject *parent)
: QThread(parent)
{
m_socketDescriptor = socketDescriptor;
}
Thread::~Thread()
{
}
v...
分类:
编程语言 时间:
2015-06-25 15:31:52
阅读次数:
214
最近在看memcached的源码,觉得它那种libevent+多线程的服务器模型真的很不错,我将这个模型封装成一个C++类,根据我的简单测试,这个模型的效率真的很不错,欢迎大家试用。 这个类的使用方法很简单(缺点是不太灵...
分类:
编程语言 时间:
2015-06-15 22:21:15
阅读次数:
160
tcp多线程并发服务器
多线程服务器是对多进程服务器的改进,由于多进程服务器在创建进程时要消耗较大的系统资源,所以用线程来取代进程,这样服务处理程序可以较快的创建。据统计,创建线程与创建进程要快 10100 倍,所以又把线程称为“轻量级”进程。线程与进程不同的是:一个进程内的所有线程共享相同的全局内存、全局变量等信息,这种机制又带来了同步问题。
tcp多线程并发服务...
分类:
编程语言 时间:
2015-06-15 18:53:59
阅读次数:
519
一、tcp并发服务器概述
一个好的服务器,一般都是并发服务器(同一时刻可以响应多个客户端的请求)。并发服务器设计技术一般有:多进程服务器、多线程服务器、I/O复用服务器等。
二、多进程并发服务器
在 Linux 环境下多进程的应用很多,其中最主要的就是网络/客户服务器。多进程服务器是当客户有请求时,服务器用一个子进程来处理客户请求。父进程继续等待其它客户的请求。这种方法的...
分类:
系统相关 时间:
2015-06-15 16:34:10
阅读次数:
143
Swoole:重新定义PHPPHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。Swoole可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、...
分类:
Web程序 时间:
2015-06-12 00:55:40
阅读次数:
147
在上一篇文章《iOS从零开始学习socket编程——HTTP1.0服务器端》中我们已经简单的接触了OC搭建的HTTP服务器。
(地址http://blog.csdn.net/abc649395594/article/details/45131373)
出于用户体验和鲁棒性考虑,这里把这个HTTP服务器改进成多线程的。
首先,AnsycSocket这个类是基于OC的Runloop实现的,Runl...
分类:
移动开发 时间:
2015-04-21 09:54:35
阅读次数:
184
posix 线程(一):线程模型、pthread 系列函数 和 简单多线程服务器端程序一、线程有3种模型,分别是N:1用户线程模型,1:1核心线程模型和N:M混合线程模型,posix thread属于1:1模型。(一)、N:1用户线程模型“线程实现”建立在“进程控制”机制之上,由用户空间的程序库来管...
分类:
编程语言 时间:
2015-04-16 21:28:22
阅读次数:
156
jdk供的无阻塞I/O(NIO)有效解决了多线程服务器存在的线程开销问题,但在使用上略显得复杂一些。在NIO中使用多线程,主要目的已不是为了应对每个客户端请求而分配独立的服务线程,而是通过多线程充分使用用多个CPU的处理能力和处理中的等待时间,达到提高服务能力的目的。
这段时间在研究NIO,写篇博客来记住学过的东西。还是从最简单的Hello World开始,
client多线程请求...
分类:
编程语言 时间:
2015-04-05 23:34:41
阅读次数:
327
最近做有关于游戏服务器用单线程的好还是多线程的好的讨论
有同学问:服务端逻辑全单线程的模型,为了避免查询离线玩家数据造成阻塞,除了启动服务器全部加载以外还有更好的办法吗?
同学B: 单线程逻辑模型也属于很常用。逻辑本身不容易出问题。
IO得全部分出去。
同学B: 用异步加载事件。数据加载完成后。再重新把任务排入单线程任务队列。
同学C: 各种活动NPC打完就要从场景消失 战斗线程和场景...
分类:
编程语言 时间:
2015-04-03 09:18:27
阅读次数:
298