日期:2014-05-16  浏览次数:20643 次

unix网络编程 对战五子棋设计
最近用curses写了一个简单的五子棋游戏
现在用socket改成可以联机对战的。
我的程序主要是 两个客户端 和一个服务器端

现在我想实现  客户端1 操作,下棋子后 sleep(),然后向服务器write() 一条信息 
服务器接受后 发送给客户端2 让sleep()中的客户端2 苏醒 然后在处理信息, 然后再转发给服务器,再sleep()

请问sleep()后  有什么办法让进程主动苏醒,有这种信号函数吗?

------解决方案--------------------
你可以用多线程实现啊,一个下棋,一个通信,phtread_cond_wait堵塞住,等通信线程收到数据就唤醒就好了。通信进程可以堵塞也可以select之类的超时等待。
------解决方案--------------------
但进程的话,你就不用sleep了,你就recv堵塞读得了。