问题:上传了一份iocp socket的东东 ( 积分:0, 回复:7, 阅读:45 )
分类:Internet/TCPIP ( 版主:luyear, robertcool )
来自:softdog, 时间:2003-2-19 16:02:00, ID:1632139 [显示:小字体 | 大字体]
http://www.playicq.com/dispdoc.php?t=27&id=3038
很粗糙的,感兴趣的可以看看,没有带例子。
来自:张无忌, 时间:2003-2-19 16:05:00, ID:1632153
???
来自:copy_paste, 时间:2003-2-19 20:14:00, ID:1632729 | 编辑
感觉像在"window网络技术"那个译过来
没做个例子出来?
怎么看Client发个几个字节给Server,难道都是Max_BufferLen之类的?
来自:张无忌, 时间:2003-2-19 20:18:00, ID:1632735
如果要发挥完成端口的优势,那么处理的数据不能太大,把大的包分多次处理,
可以提高效率,发挥串行处理的优势。总之这个里面有很多技巧,需要慢慢把握
来自:copy_paste, 时间:2003-2-19 20:27:00, ID:1632748 | 编辑
张无忌:
简单点说吧,我想发一个文件给server,发文件的过程中,我又想发信息给server,那么
数据包是不是需要定义它自己的协议,这也好办,那即是说每次在客户端发送的数据,按
server端的数据包格式来发送数据否?
IOCP,俺有些概念不是很明白。如果说起比较麻烦,俺再开个贴如何。
来自:copy_paste, 时间:2003-2-19 20:33:00, ID:1632757 | 编辑
倒,没说完,
上面是说,在两个数据包中,是不是说必须定义包的格式,如Signature, data count, data
否则,很难说一个c/s交互中,清楚接受的数据是做些什么。server可以说是无状态的,每
完成一个i/o操作后,它是不管的,虽然可以在对应的socket进行封装成一个类,但也是得
维护它的状态。。。说不太清了。
来自:张无忌, 时间:2003-2-19 20:37:00, ID:1632762
我知道你的意思,这些你可以给没个CLIENT定义一个保存他们信息的结构,
这个结构里有状态变量,通过他你可以控制线程的读写数据的类型,
比如最开始是读的是密码和用户名,如果收到的数据不是这个类型的,
可以关掉这个套接字,,,,
来自:copy_paste, 时间:2003-2-19 20:54:00, ID:1632787 | 编辑
我看了看,它的程序中,是以自己来做Read/Write,但实际情况Server是以触发为主,被动
工作的。那softdog的程序应该不行了吧,GetQueuedCompletionStatus难道会触发?
那也不成那,即使它返回来了,HandleData也是指针,它是每次以NEW的方式得到,完成read/write
后就Free了,那如果client是以主动方式,server是被动方式,那。。。