五种I/O模型的性能分析重叠I/O模型的另外几个优点在于,微软针对重叠I/O模型提供了一些特有的扩展函数。当使用重叠I/O模型时,可以选择使用不同的完成通知方式。采用事件对象通知的重叠I/O模型是不可伸缩的,因为针对发出WSAWaitForMultipleEvents调用的每个线程,该I/O模型一次最多都只能支持6 4个套接字。假如想让这个模型同时管理不止6……继续阅读 » 弦苦 3年前 (2022-03-19) 1227浏览 0评论2132个赞
select模型本质上是一种分类处理思想,预先声明几个FD_SET(fd_set结构)集合(使用FD_ZERO初始化),例如ReadSet、WriteSet,fd_set数据类型本质上代表着一系列按关注事件分类的套接字集合。本文讨论三种选择模型(都带select,姑且这样称呼):select(选择)、WSAAsyncSelect(异步选择)、WSAEvent……继续阅读 » 弦苦 3年前 (2022-03-19) 2965浏览 0评论1377个赞
TCP 三次握手建立连接 & 四次挥手断开连接……继续阅读 » 弦苦 3年前 (2022-03-19) 2991浏览 0评论2148个赞
在 UNIX 系统中,任何 I/O 操作都是通过读写文件描述符(File Descriptor)来实现的。网络通信 I/O 机制也是基于文件描述符来定义实现的。鉴于 WinSock 1 是 WinSock 2 的功能子集,而 WinSock 1 又沿袭兼容 Berkeley Socket API 集,故本文基于 WinSock 1 讲述 socket 编程基……继续阅读 » 弦苦 3年前 (2022-03-19) 2591浏览 0评论1735个赞
套接字,简单的说就是通信双方的一种约定,用套接字中的相关函数来完成通信过程。应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题。本文初步梳理了socket相关概念和模式。……继续阅读 » 弦苦 3年前 (2022-03-19) 3044浏览 0评论1411个赞
一.重叠I/O模型的概念当调用ReadFile()和WriteFile()时,如果最后一个参数lpOverlapped设置为NULL,那么线程就阻塞在这里,直到读写完指定的数据后,它们才返回。这样在读写大文件的时候,很多时间都浪费在等待ReadFile()和WriteFile()的返回上面。如果ReadFile()和WriteFile()是往管道里读写数据,……继续阅读 » 弦苦 3年前 (2022-03-19) 2506浏览 0评论483个赞
孙靖 2009.5.5Email:jing_sun999@126.com QQ:272964426前段时间实现了一个小型的C/S架构的多人在线即时通信工具,JIGQQ。其中对使用TCP通信有点心得。 记得在我大学时代,就用VB做过TCP的通信。当然那时候是很初级的,发送的数据量也很小的应用。当时就觉得,有时候发送的数据接收端不能接收到,有时候呢觉得……继续阅读 » 弦苦 3年前 (2022-03-19) 1980浏览 0评论1899个赞
RTP OVER HTTP……继续阅读 » 弦苦 3年前 (2022-03-19) 3021浏览 0评论1463个赞
VC网络编程概览,包括WinSock,WinInet客户端和ISAPI服务器应用程序接口。研读MS提供的网络通信部分的源码对于我们学习网络编程会有很大帮助。……继续阅读 » 弦苦 3年前 (2022-03-19) 2099浏览 0评论1771个赞
CodeProject – 《A Simple IOCP Server/Client Class》 – 整改……继续阅读 » 弦苦 3年前 (2022-03-19) 1490浏览 0评论297个赞