F fcom Unregistered / Unconfirmed GUEST, unregistred user! 2003-02-20 #1 我现在做的程序是通过socket提交和取得数据的,然而socket是不建立连接的 所以要判断数据是否返回返回后程序再往下执行,请问怎样才能让程序停下来 直到服务器返回了数据才往下执行。
Z zw84611 Unregistered / Unconfirmed GUEST, unregistred user! 2003-02-20 #2 你用API还是控件? 如果是控件,会简单的多,有事件驱动。
S szf Unregistered / Unconfirmed GUEST, unregistred user! 2003-02-21 #5 定义一个变量Flag标志服务器是否返回数据,在服务器返回数据事件中修改Flag Flag := False; ClientSocket1.Socket.SendBuf(.... ... while not Flag do begin Applicatoin.ProcessMessages; Sleep(1);//避免CPU 使用率100% end; ...继续执行 要注意的是上面的代码不要二次重入
定义一个变量Flag标志服务器是否返回数据,在服务器返回数据事件中修改Flag Flag := False; ClientSocket1.Socket.SendBuf(.... ... while not Flag do begin Applicatoin.ProcessMessages; Sleep(1);//避免CPU 使用率100% end; ...继续执行 要注意的是上面的代码不要二次重入
张 张无忌 Unregistered / Unconfirmed GUEST, unregistred user! 2003-02-21 #6 还有一个办法,用一个状态结构来保存客户的状态,每次有数据到来的时候 根据这个状态开做不同的动作
S szf Unregistered / Unconfirmed GUEST, unregistred user! 2003-02-21 #7 定义一个变量Flag标志服务器是否返回数据,在服务器返回数据事件中修改Flag Flag := False; ClientSocket1.Socket.SendBuf(.... ... while not Flag do begin Applicatoin.ProcessMessages; Sleep(1);//避免CPU 使用率100% end; ...继续执行 要注意的是上面的代码不要二次重入
定义一个变量Flag标志服务器是否返回数据,在服务器返回数据事件中修改Flag Flag := False; ClientSocket1.Socket.SendBuf(.... ... while not Flag do begin Applicatoin.ProcessMessages; Sleep(1);//避免CPU 使用率100% end; ...继续执行 要注意的是上面的代码不要二次重入