当前位置:千优问>常见问答>vc++网络编程请教

vc++网络编程请教

2022-10-21 16:34:22 编辑:join 浏览量:643

vc++网络编程请教

vc++网络编程请教

不是很清楚你的意思。数据流是否如下呢: 客户端main线程 ==> 服务端线程 《===》客户端ReadSock线程。问题是否如下: 客户端main线程调用getchar()阻塞,等待命令输入。同时客户端ReadSock线程收到服务端信息后,要和服务端线程交互。这时你企图I/O输入(getchar()操作)是ReadSock线程的,但是I/O输入却被客户端main线程获得。改进方法: 添加一个全局bool类型变量(或者信号量)bool ReadSockWorking = false; //考虑下这里要锁吗?其实可以不要的。main(){ while(1) { if(!ReadSockWorking ) { getchar(); ReadSockWorking = true; ...... } else{ continue; sleep(10) } ...... }}ReadSock(){ //与服务端交互完毕 ReadSockWorking = false;} 这样一个客户端与服务端在某时刻只存在一个连接。

标签:c++,编程,请教