连接拒绝问题

yomi 2003-10-15 06:03:11
我准备对服务器做压力测试,服务器用完成端口开发,但是接收连接是用一个线程完成,m_hListenSocEvent只关心Accpt事件。核心代码如下:
dwRet = WSAWaitForMultipleEvents(1,&pThis->m_hListenSocEvent,FALSE, 500, //等待 FALSE);
if (WSA_WAIT_TIMEOUT == dwRet || WAIT_IO_COMPLETION == dwRet)
continue;
nRet = WSAEnumNetworkEvents(pThis->m_socListen,pThis->m_hListenSocEvent, &events);
if (events.lNetworkEvents & FD_ACCEPT)
{
if (events.iErrorCode[FD_ACCEPT_BIT] == 0)
{
clientSocket = WSAAccept(m_socListen,NULL,NULL,NULL,0);

...

客户端同时开100个线程,每个线程开一个socket与服务器连接。
while(i++<100)
CreateThread(....)

但是有许多连接被拒绝,当线程数在50左右的时候,有些时候全部通过,有些时候有些被拒绝,被拒绝的速度很快,不是因为超时连接不上。

我想请问这是什么原因,是客户端还是服务端的问题?
...全文
85 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
CounterHack 2003-10-20
  • 打赏
  • 举报
回复
up
fanfyj 2003-10-18
  • 打赏
  • 举报
回复
up
sevencat 2003-10-17
  • 打赏
  • 举报
回复
我也碰到过的,后来我每两次连接中间加个
sleep(20)
就好多了。
不过我不是用的多线程我是用的select去连接的。
yomi 2003-10-17
  • 打赏
  • 举报
回复
用AcceptEx解决了。
结贴。
microyzy 2003-10-16
  • 打赏
  • 举报
回复
被拒绝是很正常的啊,因为等待队列已经满了,你需要提高accept的效率
Pipi0714 2003-10-16
  • 打赏
  • 举报
回复
你对API函数不熟悉最好用MFC的CSocket类来做
yomi 2003-10-16
  • 打赏
  • 举报
回复
还有,我在listen函数中指定的队列长度远大于最大并发连接数100,
为什么队列会慢?
yomi 2003-10-16
  • 打赏
  • 举报
回复
Pipi0714(皮皮0714) ,
CSocket来做什么?服务器?客户端?


microyzy(毛毛叉) ,
我觉得你说的有道理,是否用AcceptEx用完成端口响应会更好?

bulesnow 2003-10-15
  • 打赏
  • 举报
回复
帮你up
studyingpersons 2003-10-15
  • 打赏
  • 举报
回复
gz
【后台功能】系统设置:设置关于我们、联系我们、加入我们、法律声明广告管理:设置小程序首页轮播图广告和链接留言列表:所有用户留言信息列表,支持删除会员列表:查看所有注册会员信息,支持删除资讯分类:录入、修改、查看、删除资讯分类录入资讯:录入资讯标题、内容等信息管理资讯:查看已录入资讯列表,支持删除和修改资讯评论列表:所有用户的评论信息列表资讯评论管理:支持对评论信息审核,删除;审核后的信息用户才可见 座位属性设置:设置座位资源属性,教学楼还是图书馆录入座位:选择类型,录入标题,简介,座位信息介绍座位管理:列出所有座位信息、支持修改、删除热门关键字:设置网站可以查询的热门座位关键字座位安排:设置具体教学楼还是图书馆的座位信息 座位订单列表:列出网站用户下单的所有订单信息座位订单管理:支持修改状态,删除操作座位评论列表:列出用户对网站座位的评论信息座位评论管理:支持修改审核操作、删除操作 【用户功能】用户注册:填写手机账号和密码,注册新用户登录功能:注册普通账号登录;登录后可以修改用户的基本信息,也可以退出。关于我们:关于我们、联系我们、加入我们、法律声明轮播广告:后台设置首页轮播广告图,可以连接到广告页面。留言反馈:用户填写李哭咽的主题、联系人、电话、邮箱、留言内容;后台管理可以查看留言列表,可以删除留言。 座位中心:显示网站提供的所有座位信息;可以按用途类型分类。座位查询:网站顶部可以输入座位关键字查询座位详情:座位的介绍信息,包含封面,介绍等我要预约座位:在座位详情页面,点击“我要预约座位”,确认座位;提交预约订单。座位收藏:在座位详情页面,登录的用户,可以对当前座位进行收藏,收藏后的座位列表在用户中心可以查看,可以进行删除。座位评论:在座位详情页面,登录的用户,可以填写评论内容,提交评论信息;提交的评论信息需要后盖管理员审核后可见。 座位订单列表:列出用户的所有预约订单信息,审核状态;没有审核或者审核拒绝的订单用户可以删除。座位浏览、收藏、评论:列出用户浏览过的网站上的座位信息浏览记录;收藏过的座位信息列表,支持删除;评论过的信息列表和状态。资讯浏览、收藏、评论:列出用户浏览过的网站上的资讯信息浏览记录;收藏过的资讯信息列表,支持删除;评论过的资讯信息列表和状态。 用户信息:姓名、联系方式、邮箱、头像、简介、介绍等,支持随时修改;用户注册的信息后台管理员可见;后台管理员可以删除。密码修改:修改注册的密码。退出登录:清除登录的cookie,返回到首页。 

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧