客户端有一个字串发给服务器,并等待服务器返回数据。
例如:
procedure SendDataTest;
begin
如果 clientSocket.socket.sendText('OK?'); 成功
这里要等待服务器应答,直到有数据返回。不要让它产生一个ONSocketRead事件。
if ClientSocket.ReceiveText = 'OK' then
//做一些事。
end;
怎样控制它等待多长时间就认为服务器没有数据返回,然后让此过程提示出错。
而且如果服务器返回的数据包大于一个数据包的大小时,这样返回的字串会不会少掉一部分?
例如:
procedure SendDataTest;
begin
如果 clientSocket.socket.sendText('OK?'); 成功
这里要等待服务器应答,直到有数据返回。不要让它产生一个ONSocketRead事件。
if ClientSocket.ReceiveText = 'OK' then
//做一些事。
end;
怎样控制它等待多长时间就认为服务器没有数据返回,然后让此过程提示出错。
而且如果服务器返回的数据包大于一个数据包的大小时,这样返回的字串会不会少掉一部分?
解决方案 »
- dll 中使用ADOQuery 访问数据库,出错,错在那里?再帮看看
- adodataset调用存储过程问题,跪求高手指点
- 把內網服務器SQL上數據下載到本機Access,有沒有更好的方法
- 获取WebBrowser中FLASH句柄问题
- sql问题。
- 一个简单的问题,大家进来看看!
- 请问怎么样由自己来触发PageProducer的OnHTMLTag事件???
- 发了N个帖子没有解决问题,郁闷!散分!!!分数不够再加!!!
- 怎么样判断edit1.text全是数字,而没有字母或其它符号??急 用!!!
- (((((((( SoS ))))))如何使 EXCEL 的关闭按钮“X”和 “文件”中的"退出"操作 失效
- 能否将Ehlib的DBGridEh中的隐藏列导出
- IE中点击链接,会发生什么消息。。。怎么拦截。。。
var
FirstTickCount:longint;
begin
clientSocket.socket.sendText('OK?'); FirstTickCount := GetTickCount;
Count := 0;
while (not ClientSocket.Socket.ReceiveLength>0) and (Count<5000) do//超时为5秒
begin
application.ProcessMessages;
Count := GetTickCount-FirstTickCount;
end; if ClientSocket.Socket.ReceiveText = 'OK' then
//做一些事。
end;