关于在线程间共享套接字的问题???

sekfore 2003-05-21 08:21:33
我的程序有一个监听线程,在接收到客户连接请求以后创建一个新的线程对其进行处理。问题出现了,我的参数都成功地传送到了新的线程,但是我在新线程中对套接字进行的操作都出错,返回的是10038,就是无效套接字。我进行了多次跟踪,该套接字的句柄是成功的传到了新的线程。
就是说我用同样的句柄,在监听线程可以正常工作。但是在新线程就不行。总是套接字无效。请高手指点指点。。谢谢:)
...全文
109 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sekfore 2003-05-22
  • 打赏
  • 举报
回复
问题解决了,我的类的析构函数里要把套接字关闭。而我的那个监听线程里生成的与新客户对应的套接字是一个局部变量,在过了生存期以后要被系统销毁,这个时候析构函数发生作用,将该套接字关闭了。于是,在新的线程里面得到的套接字句柄就的确是一个无效的句柄了。。
哈哈。。。终于解决了。。。散分啦~ :)
sekfore 2003-05-22
  • 打赏
  • 举报
回复
是这样的,我自己做了一个类把套接字进行了封装。接受请求以后就将这个套接字句柄写入一个新的对象。我曾经做过一个程序,也是用的这样的方法,但是那个程序在线程之间共享的时候并没有这个问题。
regainworld 2003-05-22
  • 打赏
  • 举报
回复
线程没有网络初始化嘛?
Bind 2003-05-21
  • 打赏
  • 举报
回复
代码帖出来
Roger_long 2003-05-21
  • 打赏
  • 举报
回复
你的示例代码,看看
天限天空 2003-05-21
  • 打赏
  • 举报
回复
gz

15,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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