Network
文章平均质量分 64
CoolGaming
Let's start the game development!
展开
-
深入linux网络编程(三):异步阻塞IO —— epoll
From: http://www.cfanz.cn/index.php?c=article&a=read&id=30259作者:yurunsun@gmail.com 新浪微博@孙雨润 新浪博客 CSDN博客日期:2012年11月17日1. epoll的优越性上一节介绍的select有几个缺点:存在最多监听的描述符上限FD_SETSIZE每次被唤醒时必须遍历才能知道是哪个转载 2014-12-26 10:11:15 · 527 阅读 · 0 评论 -
高并发网络编程之epoll详解
From: http://www.open-open.com/lib/view/open1410403215664.html在linux 没有实现epoll事件驱动机制之前,我们一般选择用select或者poll等IO多路复用的方法来实现并发服务程序。在大数据、高并发、集群等一些名词唱得火热之年代,select和poll的用武之地越来越有限,风头已经被epoll占尽。本文便来介转载 2016-04-13 11:54:29 · 579 阅读 · 0 评论 -
epoll实现linux进程通信
From: http://www.cnblogs.com/xuxu8511/p/3217444.htmlserver.c 1 #include 2 #include 3 #include string.h> 4 #include 5 #include 6 #include 7 #include 8 #include 9 #in转载 2015-02-12 22:58:56 · 438 阅读 · 0 评论 -
在完成端口IOCP模型判断客户端是否已关闭连接(掉线)
From: http://blog.csdn.net/educast/article/details/16958733判断客户端是否关闭: 1 GetQueuedCompletionStatus 返回 FALSE,根据错误号判断。 2 客户端端定时发送(也就是心跳包判断)补:GetQueuedCompletionStatus 的返回值为 ERROR_SUCCESS 和lp转载 2015-02-07 20:48:44 · 948 阅读 · 0 评论 -
判断socket是否连接(windows socket)
From: http://blog.csdn.net/educast/article/details/15812879项目遇到一个问题,原因可以归结为:当一个tcp socket连接建立后,如果中途网络断开了一段比较长的时间(比如网线拔掉了再插上),则这个tcp socke连接已经断开,需要对这种情况进行相应的错误处理。网上搜索到的大都是linux环境下的解决方案,由于wind转载 2015-02-07 20:45:47 · 1733 阅读 · 1 评论 -
Boost::asio范例分析 服务端
From: http://blog.csdn.net/zhongguoren666/article/details/8772423?utm_source=tuicool main函数要求程序调用者传递3个参数:服务器IP地址,端口号和文档根目录.其中IP地址可以是IPv4或IPv6格式.接着创建server对象实例,将传递进来的IP地址,端口号,文档根目录作为server对象的转载 2015-02-07 20:52:49 · 514 阅读 · 0 评论 -
游戏服务端IOCP模型,自己封装的一个类,3行代码搞定服务端
From: http://blog.csdn.net/educast/article/details/16965029[cpp] view plaincopyprint?#pragma once #include #define IP_SIZE 32 //ip地址长度 #define BUFFER_SIZE 1024 #include转载 2015-02-07 20:50:34 · 591 阅读 · 0 评论 -
IOCP编程注意事项
From: http://blog.csdn.net/educast/article/details/159525731、每个连接同时最好只有一个待决的WSARecv。IOCP不保证多个待决WSARecv情况下先投递的WSARecv就一定会先得到完成通知。因此,多个待决WSARecv可能导致数据乱序,无谓增加代码复杂性。 2、投递0长度缓冲区的WSARe转载 2015-02-07 20:47:08 · 430 阅读 · 0 评论 -
进程同步与互斥
From: http://blog.csdn.net/educast/article/details/15675251进程同步与互斥 首先,我们看一个例子:进程P1、P2公用一个变量COUNT,初始值为0 P1、P2两个进程的执行顺序是随机的,P1、P2可能顺序执行或交错执行。 由图可见,不同的执行顺序,COUNT值会不同,这是不允许转载 2015-02-07 20:44:11 · 440 阅读 · 0 评论 -
Socket常见错误代码与描述
From: http://officeworker.cn/20130511130.htmlSocket error 0 – Directly send errorSocket error 10004 – Interrupted function //call 操作被终止Socket error 10013 – Permission denied //c访问被拒绝Socket er转载 2015-02-07 17:26:17 · 696 阅读 · 0 评论 -
Boost::asio io_service 实现分析
From: http://blog.csdn.net/zhongguoren666/article/details/8772188io_service的作用io_servie 实现了一个任务队列,这里的任务就是void(void)的函数。Io_servie最常用的两个接口是post和run,post向任务队列中投递任务,run是执行队列中的任务,直到全部执行完毕,并且run可以被N转载 2015-02-07 20:55:24 · 413 阅读 · 0 评论 -
EPOLL和IOCP比较
From: http://blog.csdn.net/educast/article/details/15503179EPOLL是半成品,IOCP是成品,底层机制一样,协议栈的状态检查不需要用户去查询,由作业系统来通知。其实这是任何守护性逻辑高性能的基础机制。但是EPOLL只是告诉你现在可以读和写,即协议栈的读写缓冲被初始化或重设(对于写,上次数据已经提交并写缓冲重设为空,转载 2015-02-07 20:42:08 · 633 阅读 · 0 评论 -
Windows IOCP模型与Linux EPOLL模块之比较
From: http://blog.csdn.net/educast/article/details/15500349一:IOCP和Epoll之间的异同。异:1:IOCP是WINDOWS系统下使用。Epoll是Linux系统下使用。2:IOCP是IO操作完毕之后,通过Get函数获得一个完成的事件通知。Epoll是当你希望进行一个IO操作时,向Epoll查询是否可读或者可转载 2015-02-07 20:39:22 · 302 阅读 · 0 评论 -
基于boost asio实现的支持ssl的通用socket框架
From: http://blog.csdn.net/educast/article/details/13277097情景分析 现已存在一个可用稳定的异步客户端类http_client_base,该类基于boost asio实现了连接服务器,发送请求,获取响应和解析http数据等操作,该类的大致实现框架如下 1class http_client_base转载 2015-02-07 20:15:59 · 475 阅读 · 0 评论 -
[boost] 利用boost.asio提取网页中的网址
参考网址: http://blog.jobbole.com/82628/文件名:a.cpp/* 功能: 演示了利用boost中的asio和regex提取网页中符合指定格式的网址 环境: Fedora20 编译: g++ -o a a.cpp -Wall -Os -std=c++11 -lboost_system -lboost_regex 说明: 默认Fedora20中未原创 2014-12-26 11:28:00 · 736 阅读 · 0 评论 -
深入linux网络编程(二):异步阻塞IO
From: http://www.cfanz.cn/index.php?c=article&a=read&id=30027作者:yurunsun@gmail.com 新浪微博@孙雨润 新浪博客 CSDN博客日期:2012年11月17日1. 异步阻塞IO当从一个描述符读,写到另一个描述符时,可以在下列形式的循环中使用阻塞IO:while ((n = read(转载 2014-12-26 10:06:07 · 517 阅读 · 0 评论 -
[windows] IOCP底层,支持超过15000个连接
From: http://blog.csdn.net/educast/article/details/14523457#pragma comment(lib,"ws2_32.lib")#include #include //////////////////////////////////////////////////////////////////////////// 仅供测试软件用转载 2015-02-07 20:36:40 · 441 阅读 · 0 评论