摘要: windows进程通信的几种方式1 文件映射 文件映射(Memory-Mapped Files)能使进程把文件内容当作进程地址区间一块内存那样来对待。因此,进程不必使用文件I/O操作,只需简单的指针操作就可读取和修改文件的内容。 Win32 API允许多个进程访问同一文件映射对象,各个进程在它自... 阅读全文
posted @ 2014-04-15 14:43 与你相随 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 1、引言 在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯。WIN32 API提供了许多函数使我们能够方便高效地进行进程间的通讯,通过这些函数我们可以控制不同进程间的数据交换,就如同在WIN16中对本地进程进行读写操作一样。 典型的WIN16两进程可以通过共享内存来进行数据交换... 阅读全文
posted @ 2014-04-15 09:51 与你相随 阅读(909) 评论(0) 推荐(0) 编辑
摘要: 本章回答了如下几个问题: ◆什么是Overlapped I/O?为什么需要Overlapped I/O?如何让数据传输支持Overlapped I/O? ◆数据传输结束后,Win32提供了哪些方式对用户进行通告,以便进行适当的善后? ◆影响线程优先级的因素有哪些?如何获取或设置进程线程优先级?优先级的改变容易带来哪些问题?又该如何应对? ◆什么是被激发的文件句柄?什么是被激发的事件?什么是异步进程调用(APCs)?这些方式各是如何实现Overlapped I/O的?各有何优缺点? ◆使用Overlapped I/O的初衷是使“受制于I/O的程序”中获得高效率。但是否是各种情况下Overlapp 阅读全文
posted @ 2014-04-11 16:43 与你相随 阅读(342) 评论(0) 推荐(0) 编辑
摘要: IOCP模型总结(转)IOCP(I/O Completion Port,I/O完成端口)是性能最好的一种I/O模型。它是应用程序使用线程池处理异步I/O请求的一种机制。在处理多个并发的异步I/O请求时,以往的模型都是在接收请求是创建一个线程来应答请求。这样就有很多的线程并行地运行在系统中。而这些线程都是可运行的,Windows内核花费大量的时间在进行线程的上下文切换,并没有多少时间花在线程运行上。再加上创建新线程的开销比较大,所以造成了效率的低下。调用的步骤如下:抽象出一个完成端口大概的处理流程:1:创建一个完成端口。2:创建一个线程A。3:A线程循环调用GetQueuedCompletion 阅读全文
posted @ 2014-04-11 13:37 与你相随 阅读(312) 评论(0) 推荐(0) 编辑
摘要: TCP序列号和确认号详解完整的PDF下载:在网络分析中,读懂TCP序列号和确认号在的变化趋势,可以帮助我们学习TCP协议以及排查通讯故障,如通过查看序列号和确认号可以确定数据传输是否乱序。但我在查阅了当前很多资料后发现,它们大多只简单介绍了TCP通讯的过程,并没有对序列号和确认号进行详细介绍,结合实例的讲解就更没有了。近段时间由于工作的原因,需要对TCP的序列号和确认号进行深入学习,下面便是我学习后的一些知识点总结,希望对TCP序列号和确认号感兴趣的朋友有一定帮助。1. 序列号和确认号的简介及作用TCP协议工作在OSI的传输层,是一种可靠的面向连接的数据流协议,TCP之所以可靠,是因为它保证了 阅读全文
posted @ 2014-04-10 10:57 与你相随 阅读(1392) 评论(0) 推荐(0) 编辑