100分求教,几个线程能同时安全的使用一个SOCKET描述符吗? 由几个线程同时使用一个socket发送,或接受,安全吗?会出错吗?(每个线城市用自己的用户缓冲区),两个线程同时使用一个socket,一个接受,一个发送,会有问题吗?每个socket是不是对应一个协议缓冲区?小地求教。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1. 多个发送没有问题,多个接收就有问题了,因为接收是个阻塞过程,到底那个线程优先获得数据呢?一个接收,一个或多个发送也没有问题。2. 每个socket是不是对应一个协议缓冲区,是的,而且收和发是分开的。 你可以改变思路去实现。一个SOCKET负责接收,而另外一个SOCKET负责发送。它们各自在一个线程中实现。 多谢各位,再准确的描述:我用一个socket(异步模式下)和远程建立连接,这时我有三个线程,一个负责使用这个socket进行接受,另两个使用这个socket进行不定时的发送,可以吗? 我的解决方法: 用一个线程对该SOCKET进行发送和接收。 维护一个接收和发送队列(我使用完成端口听时候已经不用考虑发送队列了) 接收到一个信息后,开另外的线程来处理,该 线程继续接收信息。 当然可以,另两个使用这个socket发送的时候,本身有保护机制。 你考虑了如果发送不成功会怎样吗,socket的发送缓冲可只有一个啊 如果是TCP,并且发送的数据块很大的话,这样是不行的. MFC访问access数据库神奇问题 升星,散分~~~~~~~~~~~~~ mdi子窗体没有标题 ATL开发组件时如何产生自定义的属性页 要如何把CListCtrl的某一项移到最后边? vc.net中如何设置连接一个xx.lib文件 谁能帮帮我吗? 图像分解目的与意义 请教对图像中的某一三角形区域几何变换后像素值的插值问题 Win8.1下VS2010开发OpenGL,设置像素SetPixelFormat失败,求解 如何在应用程序里面根据相对路径获取绝对路径,如知道.//debug//,如何知道全路经呢?高手指教。 在线等待 我的QQ被盗了哦子搞了
2. 每个socket是不是对应一个协议缓冲区,是的,而且收和发是分开的。
一个SOCKET负责接收,而另外一个SOCKET负责发送。它们各自在一个线程中实现。
用一个线程对该SOCKET进行发送和接收。
维护一个接收和发送队列(我使用完成端口听时候已经不用考虑发送队列了)
接收到一个信息后,开另外的线程来处理,该 线程继续接收信息。