请高手能给一个比较好的解决方案~~

                            
我现在开发了一个服务器端和客户端的通讯程序,现在客户端和服务器端有可能同时向对方发送数据,但是winsock是不支持全双工的,也就是说一方在发送数据时,它就不能接收数据,我的解决方法时设置一个互斥信号量来竞争使用该socket,以客户端为例,如果客户端正在接收数据,那么它就把互斥信号设置为有信号,那么当它要发送数据时就会被阻塞,知道socket可以为他所用为止,这个没问题,但是当它在发数据时,它把信号设置为有信号,那么如果服务器给他发送数据过来的话,由于他的接收函数一直被阻塞,这样就会产生丢包,请问这个问题怎么解决啊,有没有不用互斥信号的更好的解决方法

                                

查看回复