高性能的iocp网络设计思路

IOCP是什么就不用介绍了,为什么要用IOCP就更不用提及。这里我们只简单讨论IOCP开发的一个思路,即能提高性能又能隆低开发复杂性。 “即能提高性能又能隆低开发复杂性”?觉得我说的有矛盾吗?不是复杂的代码才能换来高效吗?其实不一定,我认为简单是一切事务的根本,就像遗传学的四个规则就造就了地球千...

2017-07-03 16:46:59

阅读数:297

评论数:0

libuv download

http://cpansearch.perl.org/src/TYPESTER/UV-0.24/deps/

2017-06-21 18:02:13

阅读数:203

评论数:0

ARRAY_SIZE

以前修過一些通識課程,不能說沒有收穫,但現在只記得課程名稱,大概就是「藝術與人生」或「藝術導論」一類的,具體內容大概忘光了,然,這些訓練是否能讓工學院的學生,發揮藝術素養推廣到其他領域,值得商榷,但 Linux Kernel hackers 做到了。 前幾天在 IRC 上聊到 LKML (L...

2017-06-21 17:12:12

阅读数:1394

评论数:0

libuv源码分析(2)

http://www.cnblogs.com/watercoldyi/p/5682344.html 这一篇来分析libuv的四个特殊的持续请求(uv_handle_t族),uv_idle_t,uv_check_t,uv_prepare_t,uv_async_t。它们直接以强类型保存在uv_l...

2017-06-21 17:07:20

阅读数:238

评论数:0

《Windows via C/C++》学习笔记 —— 设备I/O之“I/O完成端口”

《Windows via C/C++》学习笔记 —— 设备I/O之“I/O完成端口”   上一篇讲了3种接受异步I/O请求完成的通知的方法,分别是:通知一个设备内核对象、通知一个事件内核对象、告警I/O。   本篇主要讲另一种接受异步I/O请求的方法——I/O完成端口。这是性能最高,且扩充性最...

2017-06-21 16:38:46

阅读数:109

评论数:0

Windows下性能最好的I/O模型——完成端口

Windows下性能最好的I/O模型——完成端口 I/O模型——完成端口 设计目的:   常见的网络通信分为两种:同步和异步。   在同步通信中,每一次接受数据都会导致主线程的挂起,从而阻塞住了其他操作。为了解决这一问题,我们通常会采取同步通信+多线程的策略,即为每一个连入的Soc...

2017-06-21 15:04:53

阅读数:207

评论数:0

SOCKET编程登峰造极之完成端口

一、什么是完成端口? 完成端口---是一种WINDOWS内核对象。完成端口用于异步方式的重叠I/0情况下,当然重叠I/O不一定非使用完成端口不可,还有设备内核对象、事件对象、告警I/0等。但是完成端口内部提供了线程池的管理,可以避免反复创建线程的开销,同时可以根据CPU的个数灵活的决定线程个数,...

2017-06-21 14:50:29

阅读数:155

评论数:0

Linux Socket 事件触发模型 epoll 示例 这里会写一个用C语言的TCP服务器的完全实现的简单程序

背景介绍 通常的网络服务器实现,是对每一个连接使用一个单独的线程或进程。对高性能应用而言,由于需要同时处理非常多的客户请求,所以这种方式并不能工作得很好,因为诸如资源使用和上下文切换所需的时间影响了在一时间内对多个客户端进行处理。另一个可选的途径是在一个单独的线程里采用非阻塞的I/O,这样当可以...

2017-06-15 17:44:18

阅读数:1744

评论数:0

自己趟过epoll的坑

坑的背景 本人用epoll来实现多路复用,epoll触发模式有两种: ET(边缘模式)LT(水平模式) LT模式 是标准模式,意味着每次epoll_wait()返回后,事件处理后,如果之后还有数据,会不断触发,也就是说,一个套接字上一次完整的数据,epoll_wait()可能会返回...

2017-06-15 17:41:13

阅读数:2268

评论数:0

epoll中et+多线程模式中很重要的EPOLL_ONESHOT实验

因为et模式需要循环读取,但是在读取过程中,如果有新的事件到达,很可能触发了其他线程来处理这个socket,那就乱了。 EPOLL_ONESHOT就是用来避免这种情况。注意在一个线程处理完一个socket的数据,也就是触发EAGAIN errno时候,就应该重置EPOLL_ONESHOT的fla...

2017-06-15 17:25:53

阅读数:418

评论数:0

网络库多线程并发处理实现

boost中asio网络库多线程并发处理实现,以及asio在多线程模型中线程的调度情况和线程安全。 时间:2014-08-12 00:34:33      阅读:854      评论:0      收藏:0      [点我收藏+] 标签:使用   os   io   数据  ...

2017-06-15 16:54:49

阅读数:469

评论数:0

reactor和proactor模式

reactor和proactor模式 标签: aiojavaJavaJAVAproactorreactor设计模式 2013-01-02 08:11 21177人阅读 评论(6) 收藏 举报 分类: 设计模式(5) 版权声明:本文为...

2017-06-14 16:05:29

阅读数:146

评论数:0

两种高性能I/O设计模式(Reactor/Proactor)的比较

两种高性能I/O设计模式(Reactor/Proactor)的比较 综述 这篇文章探讨并比较两种用于TCP服务器的高性能设计模式。 除了介绍现有的解决方案,还提出了一种更具伸缩性,只需要维护一份代码并且跨平台的解决方案(含代码示例),以及其在不同平台上的微调。 此文还比较了java、c#、...

2017-06-14 16:03:16

阅读数:119

评论数:0

SetFileCompletionNotificationModes FILE_SKIP_COMPLETION_PORT_ON_SUCCESS

SetFileCompletionNotificationModes function Sets the notification modes for a file handle, allowing you to specify how completion notifications wo...

2017-06-14 15:23:39

阅读数:144

评论数:0

BindIoCompletionCallback多线程下效率不如单线程高.

BindIoCompletionCallback多线程下效率不如单线程高. 2015-02-26 14:13:20 分类: C/C++ // IOCP_TCPIP_Socket_Server.cpp    #include "stdafx.h" #includ...

2017-06-14 14:24:14

阅读数:173

评论数:0

IOCP机制与网络代理服务器实现方法

IOCP机制与网络代理服务器实现方法 ]IOCP是一种在Windows服务平台上比较成熟的I/O方法,针对大量并发客户[摘要摘要] 请求问题,采用IOCP多线程控制模型建立高效网络代理服务器思想,能够较好地代理服务器中的多线程竞争问题。本文在比较基于该模型的两种编程方案的基础上,给出了基于Wi...

2017-06-14 14:13:11

阅读数:187

评论数:0

IOCP机制与网络代理服务器实现方法

请求问题,采用IOCP多线程控制模型建立高效网络代理服务器思想,能够较好地代理服务器中的多线程竞争问题。本文在比较基于该模型的两种编程方案的基础上,给出了基于Windows2000的网络代理服务器的设计与代理实现过程。 关键词:完成端口重叠I/O多线程 1、引言 网络代理服务器的主要作用是将...

2017-06-14 12:00:41

阅读数:194

评论数:0

BindIoCompletionCallback

四、编写线程池回调函数:   在讨论扩展定义OVERLAPPED结构体时,给出了非线程池版的线程函数的大概框架,也就是传统IOCP使用的自建线程使用方式,这种方式要自己创建完成端口句柄,自己将SOCKET句柄绑定到完成端口,这里就不在赘述,主要介绍下调用BindIoCompletionCall...

2017-06-14 11:50:07

阅读数:281

评论数:0

Linux epoll 详解

最近,异想天开,想用D实现一个web服务器(似乎已经想这件事好久了,只不过之前是C++),自然而然得开始研究epoll。早就听说过epoll的大名,只不过网上的教程似乎没多少,并且感觉也没怎么把用法给讲完整。好在,通过几天的学习,也算是有所积累,因此想通过这篇post记录下,尽量把细节给讲清楚,希...

2017-06-14 11:24:27

阅读数:220

评论数:0

Epoll实验总结

Epoll实验总结   2012-09-06 15:54:10|  分类: network_program |  标签:epoll  c   |举报 |字号 订阅           下载LOFTER 我的照片书  | ...

2017-06-14 11:23:15

阅读数:134

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭