社区
网络编程
帖子详情
关于在线程间共享套接字的问题???
sekfore
2003-05-21 08:08:27
我的程序有一个监听线程,在接收到客户连接请求以后创建一个新的线程对其进行处理。问题出现了,我的参数都成功地传送到了新的线程,但是我在新线程中对套接字进行的操作都出错,返回的是10038,就是无效套接字。我进行了多次跟踪,该套接字的句柄是成功的传到了新的线程。
就是说我用同样的句柄,在监听线程可以正常工作。但是在新线程就不行。总是套接字无效。请高手指点指点。。谢谢:)
...全文
114
3
打赏
收藏
关于在线程间共享套接字的问题???
我的程序有一个监听线程,在接收到客户连接请求以后创建一个新的线程对其进行处理。问题出现了,我的参数都成功地传送到了新的线程,但是我在新线程中对套接字进行的操作都出错,返回的是10038,就是无效套接字。我进行了多次跟踪,该套接字的句柄是成功的传到了新的线程。 就是说我用同样的句柄,在监听线程可以正常工作。但是在新线程就不行。总是套接字无效。请高手指点指点。。谢谢:)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sekfore
2003-05-22
打赏
举报
回复
问题解决了,我的类的析构函数里要把套接字关闭。而我的那个监听线程里生成的与新客户对应的套接字是一个局部变量,在过了生存期以后要被系统销毁,这个时候析构函数发生作用,将该套接字关闭了。于是,在新的线程里面得到的套接字句柄就的确是一个无效的句柄了。。
哈哈。。。终于解决了。。。散分啦~ :)
谢谢c0der()的提示,你说到了accept函数,于是我就开始从这里出发,终于找到了问题所在。呵呵。。。谢谢你啊。。:)
sekfore
2003-05-22
打赏
举报
回复
是这样的,我自己做了一个类把套接字进行了封装。接受请求以后就将这个套接字句柄写入一个新的对象。我曾经做过一个程序,也是用的这样的方法,但是那个程序在线程之间共享的时候并没有这个问题。
c0der
2003-05-21
打赏
举报
回复
是这种格式吗?
socket sk = ServerSocket.Accept(...);
应该没有问题吧?
ZeroMQ学习笔记(2)——
套接字
和模式
本文围绕ZeroMQ展开,介绍了
套接字
API,包括接入网络拓扑、传输数据、单播传输等;阐述了消息传递模式,如内置绑定对、处理消息和多部分消息等;还提及处理错误、信号中断、检测内存泄漏等内容,以及多
线程
、
线程
间
信令、节点协调等应用。
典型C/S模式___多
线程
实现
本文探讨了一种典型的C/S模式实现,通过多
线程
处理客户端连接请求。主
线程
负责监听并建立连接,而函数
线程
则处理具体业务。文章详细阐述了主
线程
如何将客户端
套接字
传递给函数
线程
,以及为何主
线程
不能关闭客户端
套接字
的原因,强调了在同一进程中
线程
间
资源的
共享
特性。
Linux C 多
线程
TCP 并发服务器:从 `accept()` 到工作
线程
的完整解析
本文深入剖析Linux C语言实现的多
线程
TCP并发服务器,重点阐述主
线程
与工作
线程
的职责划分、监听
套接字
与通信
套接字
的本质区别、文件描述符在
线程
间
的
共享
机制及所有权归属。详细说明
线程
参数安全传递、资源(
套接字
/内存)正确释放、避免数据竞争、处理read/write部分完成等关键实践,并指出一连接一
线程
模型的适用场景与局限性。
java并发(六)
线程
安全与
共享
资源
本文详细解析了Java中
线程
安全的概念,包括局部变量、局部对象引用、对象成员等不同类型的资源在
线程
间
的
共享
方式及如何确保这些资源的访问是
线程
安全的。
C++多进程
多进程提供了安全的并发执行环境,但进程
间
通信复杂且开销大。多
线程
在同一地址空
间
内
共享
数据,简化通信,但也增加了
线程
安全
问题
。常见的进程
间
通信方式包括管道、有名管道、消息队列、
共享
内存、信号量和
套接字
,每种方式都有其优缺点和适用场景。
网络编程
18,356
社区成员
64,161
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章