社区
C++ 语言
帖子详情
IOCP中TCP投递读写事件,缓冲区大小问题?
DEEEEEEEEEEX
2011-10-14 03:45:28
在IOCP中,如果我投递大量TCP读请求,且这些读请求用的缓冲区都是在一个页面以内的,这样会有问题么。
求教???
...全文
265
14
打赏
收藏
IOCP中TCP投递读写事件,缓冲区大小问题?
在IOCP中,如果我投递大量TCP读请求,且这些读请求用的缓冲区都是在一个页面以内的,这样会有问题么。 求教???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DEEEEEEEEEEX
2011-10-18
打赏
举报
回复
[Quote=引用 13 楼 zwb0540822 的回复:]
解决没,发代码吧。感觉你的代码有问题。
[/Quote]
谢谢,其实已经解决了,就是原理不理解,为什么两个缓冲区在同一个页面上,同时投递就会有问题。
我把这个两个缓冲区分别放到两个页面上,就没有问题。
疯魔症
2011-10-17
打赏
举报
回复
解决没,发代码吧。感觉你的代码有问题。
DEEEEEEEEEEX
2011-10-14
打赏
举报
回复
[Quote=引用 11 楼 inzaghi97 的回复:]
读请求用的缓冲区,操作系统申请的,不会出现这个问题
[/Quote]
acceptex应该是读请求吧,两块内存在一个页面里,很快就死了。
我要戒烟了
2011-10-14
打赏
举报
回复
读请求用的缓冲区,操作系统申请的,不会出现这个问题
疯魔症
2011-10-14
打赏
举报
回复
我理解有误。。。抱歉
疯魔症
2011-10-14
打赏
举报
回复
你说的页指什么,内存的页么。
这里是操作系统分配的,不应该分配到同一个内存页上的。
[Quote=引用 8 楼 deeeeeeeeeex 的回复:]
引用 7 楼 zwb0540822 的回复:
每接收一个连接,就会malloc一块空间做接收区。
这就是我所说的问题,如果同时两个连接,申请的内存在同一个页面上,就蹦了。
[/Quote]
DEEEEEEEEEEX
2011-10-14
打赏
举报
回复
[Quote=引用 7 楼 zwb0540822 的回复:]
每接收一个连接,就会malloc一块空间做接收区。
[/Quote]
这就是我所说的问题,如果同时两个连接,申请的内存在同一个页面上,就蹦了。
疯魔症
2011-10-14
打赏
举报
回复
每接收一个连接,就会malloc一块空间做接收区。
DEEEEEEEEEEX
2011-10-14
打赏
举报
回复
缓冲区不重叠,但几个缓冲区在一个页面上。
DEEEEEEEEEEX
2011-10-14
打赏
举报
回复
(1)我刚为acceptex投递1K缓冲区,我客户端一次性开了1000个TCP连接,发现服务器端由莫名的问题。
(2)而我为每个缓冲区设置页面大小,1000个TCP连接connect,就没有任何问题。
是不是如果投递了一个缓冲区,IOCP把缓冲区所在的那个页面锁定了,在投递acceptex的时候,也用这个页面的其他缓冲区,IOCP是不是会出错。
vilnies
2011-10-14
打赏
举报
回复
我觉得缓冲区不重复或者重叠就没问题。至于是否和页面有关,没听过耶~
luciferisnotsatan
2011-10-14
打赏
举报
回复
啥问题?没看明白。
healer_kx
2011-10-14
打赏
举报
回复
会有什么问题?缓冲区可以设置大一点。
cocoabird
2011-10-14
打赏
举报
回复
数据太多缓冲区会崩的
Libevent C++高并发网络编程
课程
中
讲解分析 LIBEVENT原理,跨平台编译
事件
1O、缓冲O处理。讲解HTTP服务端开发示例,HTTP客户端请求开 发示例,最后基于 LIBEVENTT创建线程池C++框架,并用此框架完成FTP 服务器的登录、目录访问、文件上传...
IOC
P 详解
我想实现的网路库只支持
TCP
协议,采用单进程多线程模型,只实现两个平台的版本,一个是基于epoll的Linux版本,一个是基于
IOC
P的Windows版本。网络上关于epoll的介绍资料多如牛毛,大多数已经讲解的非常细致...
用
IOC
P实现个简易
TCP
并发服务器
我们前面接触过几个高效的unix/linux的异步IO模型:select,poll,epoll,kqueue,其实windows也有它的异步模型,比如windows版本的select,当然最高效的还属
IOC
P吧。我也没有做过多少windows的网络编程,但是看到网上...
IOC
P知识点及疑惑
2.
IOC
P发送大数量的
问题
有A,B两块数据,如AB两块数据,如果A数据比较大,异步只发送了一部分就返回了,B数据已经提交,¬这时候再发A剩下的部分就乱顺序了 ,该如何处理。 所有重叠操作可确保按照应用程序...
采用完成端口(
IOC
P)实现高性能网络服务器(Windows c++版)
采用完成端口(
IOC
P)实现高性能网络服务器(Windows c++版) 前言
TCP
\IP已成为业界通讯标准。现在越来越多的程序需要联网。网络系统分为服务端和客户端,也就是c\s模式(client \ server)。client一般有一个或...
C++ 语言
64,647
社区成员
250,475
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章