客户端断开连接,服务器的管理界面就停止反应一段时间

seeku 2004-11-17 09:29:45
小弟初学网络编程,使用msdn上的那个web服务器例子来研究学习。
我发现如果执行一个长时间的CGI程序,客户端断开连接,
服务器的管理界面就停止反应一段时间,如果这段时间有新的连接
近来,可以服务器会崩溃。

这个服务器的界面和Socket的处理是在同一个线程,是不是与这个
有关系?一般怎么设计会比较好?

请大哥指点指点
...全文
181 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
seeku 2004-11-21
  • 打赏
  • 举报
回复
用同一个线程也没有大碍,主要是有一个地方使用了WaitSingleObject函数,
所有界面处理函数都在等待这个函数返回,所以造成没有反应。
我已经改好了,谢谢大家
yintongshun 2004-11-17
  • 打赏
  • 举报
回复
不能用同一个线程
chen_jun_fen 2004-11-17
  • 打赏
  • 举报
回复
多线程
seeku 2004-11-17
  • 打赏
  • 举报
回复
是不是那个HtttpSvr?应该没这个问题吧?
以前测试过,没问题


我把HttpSvr做了一些修改,应该不会修改架构的。
seeku 2004-11-17
  • 打赏
  • 举报
回复
好的HtttpSvr你可以去参考apache


Apache 1.3 也有一个BUG,如果CGI执行过程中客户端断开连接,
这个CGI进程永远也退出不了。这个bug在2.0被修复了。
seeku 2004-11-17
  • 打赏
  • 举报
回复
如果这段时间有新的连接进来,可以服务器会崩溃。


崩溃的时候会弹出对话框,标题是Socket Notification Sink,
内容是 0xXXXXXX 指令引用 0x00000054内存,该内存不能为read 。

这是怎么回事?
konista 2004-11-17
  • 打赏
  • 举报
回复
怎么能在一个线程里呢?不合理的说
kingzai 2004-11-17
  • 打赏
  • 举报
回复
服务器的界面和Socket的处理是在同一个线程,这样是肯定会造成阻塞的。好的HtttpSvr你可以去参考apache
gdy119 2004-11-17
  • 打赏
  • 举报
回复
是不是那个HtttpSvr?应该没这个问题吧?
以前测试过,没问题

18,356

社区成员

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

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