永发信息网

请教网络编程问题

答案:1  悬赏:10  手机版
解决时间 2021-01-23 15:39
  • 提问者网友:城市野鹿
  • 2021-01-22 21:42
请教网络编程问题
最佳答案
  • 五星知识达人网友:像个废品
  • 2021-01-22 22:52
不是很清楚你的意思。数据流是否如下呢:客户端main线程==>服务端线程《===》客户端ReadSock线程。问题是否如下:客户端main线程调用getchar()阻塞,等待命令输入。同时客户端ReadSock线程收到服务端信息后,要和服务端线程交互。这时你企图I/O输入(getchar()操作)是ReadSock线程的,但是I/O输入却被客户端main线程获得。改进方法:添加一个全局bool类型变量(或者信号量)boolReadSockWorking=false;//考虑下这里要锁吗?其实可以不要的。main(){while(1){if(!ReadSockWorking){getchar();ReadSockWorking=true;}else{continue;sleep(10)}}}ReadSock(){//与服务端交互完毕ReadSockWorking=false;}这样一个客户端与服务端在某时刻只存在一个连接。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯