问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Qt 2个线程共用1个Socket 分别收发数据可以吗?

发布网友 发布时间:2022-05-01 00:54

我来回答

1个回答

热心网友 时间:2022-06-21 14:08

1:socket句柄就是一个整型,是映射到系统句柄队列里面(你可以认为这个值是一个key,一个key对应一个系统的具体socket结构体),指针是无意义的,比方你创建了一个socket句柄值是10,你直接使用10在任何线程都是调用这个socket,这个映射过程是socket相关api内部完成的,是全局的。

2:多个线程共用一个socket分别处理收发是可以的,很多这样的例子,一些网络IO模型就是一个部分线程负责收数据包,部分线程负责发响应包,但不要多个线程共用一个socket来收,这样会导致问题。

3:你要多线程共享socket句柄,直接传值就行了,不要传引用和指针,不过注意socket关闭的同步处理。最好用一个对象来统一处理每个socket的打开和关闭,读取和发送。所有线程拿着这个对象来操作socket,这样socket的有效性判断都在对象里面处理。不然一个线程关闭了socket,子线程不知道继续拿着这个句柄号在操作就会出问题。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
华为freebuds4i切歌怎么操作_华为freebuds4i怎么切歌 华为freebuds pro切歌方法_华为freebuds pro怎么切歌 华为耳机怎么切换下一曲 欧美电影,好像是宠物有一个世界,宠物会想办法跟主人的灵魂互换占据 ...的名字,欧洲中世纪,一个王子的继母把他的灵魂和狗的灵魂互换了... 问一部外国电影的名字 剧情记得不大清楚l了 是前几年的片子 灵魂互换的... HUAWEI 华为 AGS2-W09 10.1英寸平板电脑 (香槟金、64GB+4GB、WiFi版... 诛仙3百法和千法差距大吗 微信怎么解除应用授权登录 授权应用删除方法 微信怎么解除应用授权登录授权应用删除方法 联通卡微信激活要多久? 快递到了成都市分拨中心就不动了怎么办? 寻求成都德邦物流最新招聘信息? 成都大型点的物流园区有那些? 成都蜀邑物流有限责任公司怎么样? 成都哪些货运平台可以注册面包车 成都平方物流有限公司怎么样? 成都佰斯威物流有限公司怎么样? 想知道: 成都市 成都龙泉物流园 在哪 成都有没有德邦物流? 什么是物流行业公共信息平台?当前国内主要有哪些物流公共信息平台? 什么是一站式服务?对物流公司来说有什么好处? 成都地区有没有好一点的网络货运平台啊? vivoy30晨曦白边框是什么颜色? 相比于传统物流信息平台而言,智慧物流信息平台有什么优势或者不同之处... 智慧物流的代表 条码已经形成,里面有价格,然后又去掉价格,同一条码,怎么扫出来还有价格呢? 哪位高人指点一下 名字里有个希字取什么日语名字好? 希字取名 五行缺金,能用希字当名字吗 怎么投诉卖家不承担邮费 建行年费580多久退还 淘宝质量问题退货运费商家不承担怎么办 有关一个socket多线程通信问题。 多个线程使用同一个打开的socket发送,数据会不会混淆 淘宝上。质量问题退货卖家不承担运费怎么投诉 刚介入linux c的socket编程没多久,想要写一个socket客户端,实现多线程处理发送和接收,哪位大侠帮帮忙啊 Socket服务端使用多线程接受客户端发送的包(每个客户端开一个线程),并发时包会错乱,该怎么处理? socket套接字在多线程发送数据时要加锁吗 在淘宝网购物退货商家不承担邮费,怎样在淘宝网上投诉卖家? 淘宝买东西退货卖家不承担运费怎么投诉 淘宝网因质量问题退货垫付的运费,卖家不给怎么投诉 卫生间瓷砖发霉了,如何处理好? 在淘宝买衣服衣服质量问题卖家让我承担运费怎么投诉 我的理想高中1000字作文咋么写? 电脑显示屏成花屏但是却没有破损能修吗 卫生间瓷砖长毛是什么原因?怎么解决? 请问我想学习六年级英语该怎么办 卫生间墙面瓷砖潮湿解决方法有什么 哺乳期能喝体质能量饮料吗