求教:CSocket的速度问题

vioy 2007-02-10 06:52:57
用C/S模式的程序,server端监听到client端的连接请求后,创建一个线程与之通讯。client端需要请求一个服务并得到回应结果。如果连续发生较多的这样的通讯,平均每次的通讯时间居然要2秒左右。如果连续发生100轮这样的通讯,总共时间简直不能忍受。每次数据包来回的大小都是1100字节左右。服务处理的时间大约100ms。

请问这样长的延时是什么原因导致的,有什么解决方法?
...全文
462 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
vioy 2007-03-03
  • 打赏
  • 举报
回复
:(
typingsoft 2007-03-03
  • 打赏
  • 举报
回复
一个线程一个通讯?
效率不会高的

可以查查线程池方面的技术
还有,CSocket能不用就不用吧
MarsZhangLing 2007-03-03
  • 打赏
  • 举报
回复
难道没用多线程???不太可能吧!!!!!!!如果用了.还是这个速度。.....

我也不明白...
vioy 2007-02-19
  • 打赏
  • 举报
回复
过年继续等
Richuen22 2007-02-19
  • 打赏
  • 举报
回复
这种情况好象要开多线程才能解决,现在很小接触这方面的,都几乎忘记了。
vioy 2007-02-12
  • 打赏
  • 举报
回复
继续等
vioy 2007-02-12
  • 打赏
  • 举报
回复
自己顶一下
DentistryDoctor 2007-02-11
  • 打赏
  • 举报
回复
想也想得到正常的速度应该是多少,只能说明代码写得有问题。不知你的代码是什么样。。。
Practise_Think 2007-02-11
  • 打赏
  • 举报
回复
流量不大,这个传输速度可暂忽略,检查一下SERVER端真正的处理速度,如果确实不行,可把你定义的协议改为异步
ReverseEngineering 2007-02-11
  • 打赏
  • 举报
回复
很多时候是系统问题!
ReverseEngineering 2007-02-11
  • 打赏
  • 举报
回复
学习一下!
vioy 2007-02-11
  • 打赏
  • 举报
回复
用简化的代码测试情况也是这样的。使用的是CSocket,每个包的大小是1004字节
服务端
创建一个CSocket监听
accept一个连接,再创建一个socket,将其传给线程。
线程首先挂接一个SocketWnd,然后进入resv循环,每收到一个包就发送一个包,不做任何处理。

客户端
创建一个CSocket,连接服务端
在一个20次的循环中,先send一个包,再recv一个包
这样整个循环下来,需要大约40秒的时间。

郁闷,不知道原因……
vioy 2007-02-10
  • 打赏
  • 举报
回复
自己顶一下
vioy 2007-02-10
  • 打赏
  • 举报
回复
自己顶一下

18,356

社区成员

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

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