上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
  2008年8月18日
摘要: 这是一对实现在两台计算机间传送文件的函数,我没有看到过使用CSocket进行文件传送的代码,希望此代码对你有用.代码中包含两个函数,第一个用于服务器端,第二个用于客户端. 需要说明的是本文提供的方法并不适用于大型文件的传送. 下面给出服务器端代码: Code highlighting produced by Actipro CodeHighlighter (freeware... 阅读全文
posted @ 2008-08-18 19:28 风荷小筑 阅读(347) 评论(0) 推荐(0) 编辑
摘要: Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> 1 #include "stdafx.h" 2 #include 3 #include 4 //using namespace std; 5 6 #pragma comment... 阅读全文
posted @ 2008-08-18 16:14 风荷小筑 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 我会从以下几个方面来进行比较 *有无每线程64连接数限制 如果在选择模型中没有重新定义FD_SETSIZE宏,则每个fd_set默认可以装下64个SOCKET。同样的,受MAXIMUM_WAIT_OBJECTS宏的影响, 事件选择、用事件通知实现的重叠I/O都有每线程最大64连接数限制。如果连接数成千上万,则必须对客户端套接字进行分组,这样,势必增 加程序的复杂度。 相反,异步... 阅读全文
posted @ 2008-08-18 09:43 风荷小筑 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 背景:轮询 PIO DMA 中断 早期IO设备的速度与CPU相比,还不是太悬殊。CPU定时轮询一遍IO设备,看看有无处理要求,有则加以处理,完成后返回继续工作。至今,软盘驱动器还保留着这种轮询工作方式。 随着CPU性能的迅速提高,这种效率低下的工作方式浪费了大量的CPU时间。因此,中断工作方式开始成为普遍采用的技术。这种技术使得IO设备在 需要得到服务时,能够产生一个硬件中断,迫使... 阅读全文
posted @ 2008-08-18 09:15 风荷小筑 阅读(583) 评论(0) 推荐(0) 编辑
摘要: 一、 同步I/O和异步I/O 在介绍这部分内容之前先来认识下“异步I/O”。 说起异步IO,很容易联想到同步I/O,对于同一个I/O对象句柄在同一时刻只允许一个I/O操作,其原理如下图所示: 显然,当内核真正处理I/O的时间段(T2~T4),用户线程是处于等待状态的,如果这个时间段比较段的话,没有什么影响;倘若这个时间段很长的话,线程就会长时间处于挂起状态。事实上,该线程完全可... 阅读全文
posted @ 2008-08-18 09:08 风荷小筑 阅读(971) 评论(0) 推荐(0) 编辑
  2008年8月17日
摘要: 完成端口程序的执行步骤: 1) 创建一个完成端口。第四个参数保持为0,指定在完成端口上,每个处理器一次只允许执行一个工作者线程。 2) 判断系统内到底安装了多少个处理器。 3) 创建工作者线程,根据步骤2 )得到的处理器信息,在完成端口上,为已完成的I / O请求提供服务。在这个简单的例子中,我们为每个处理器都只创建一个工作者线程。这是由于事先已预计到,到时不会有任何线程进入“挂起”状态,... 阅读全文
posted @ 2008-08-17 19:29 风荷小筑 阅读(5243) 评论(0) 推荐(2) 编辑
摘要: 3.1开始 完成端口听起来好像很神秘和复杂,其实并没有想象的那么难。这方面的文章在论坛上能找到的我差不多都看过,写得好点的就是CSDN.NET上看到的一组系 列文章,不过我认为它只是简单的翻译了一下Network Programming for Microsoft Windows 2nd 中的相关内容,附上的代码好像不是原书中的,可能是另一本外文书里的。我看了以后,觉得还不如看原版的更容易理解。... 阅读全文
posted @ 2008-08-17 19:29 风荷小筑 阅读(796) 评论(0) 推荐(0) 编辑
摘要: 这个内容在cnblogs中也讨论过很多次了,这两天大概看了一些资料,看到一些简单的性能指标拿出来和大家讨论一下。 Socket + Threads/ThreadPool 大概性能:小于1500个连接 实现:Accept一个Socket,就交给一个线程去管理,比较笨,但也比较有效,因为是同步方式,控制起来很方便。高级点的,就是交给一个线程池去管理,线程池由系统自动托管,省去了开销线程的时间。一般... 阅读全文
posted @ 2008-08-17 16:23 风荷小筑 阅读(2000) 评论(0) 推荐(0) 编辑
摘要: Overlapped I/O 完成例程要求用户提供一个回调函数,发生新的网络事件的时候系统将执行这个函数。 系统用WorkerRoutine函数处理接收到的数据。 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> 1 #inclu... 阅读全文
posted @ 2008-08-17 11:40 风荷小筑 阅读(2025) 评论(0) 推荐(1) 编辑
  2008年8月16日
摘要: 重叠I / O的事件通知方法要求将Wi n 3 2事件对象与W S A O V E R L A P P E D结构关联在一起。若使用一个W S A O V E R L A P P E D结构,发出像W S A S e n d和W S A R e c v这样的I / O调用,它们会立即返回。 一个重叠I / O请求最终完成后,我们的应用程序要负责取回重叠I / O操作的结果。一个重叠... 阅读全文
posted @ 2008-08-16 19:25 风荷小筑 阅读(1221) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 下一页