我现在很着急,请各位高手来帮帮忙呀。
我遇到的问题是:
用TClientSocket来连接服务端,定时发送数据(每天8:00),然后服务端将今天数据再返回给客户端的TClientSocket上,客户端接收数据通过TClientSocket的OnRead事件里。8:00发送数据后如果超时了没有接到数据,重复发送三次,如果都没有收到数据,就向备用服务器发送命令数据,这是我的思路确保每天都能接收到今天的数据,不能丢失,所以就要用到超时了,客户接收数据在TClientSocket的OnRead事件里执行。
我现在不知道怎样来做这个?怎样来实现我的这种思路?并且Socket的超时时间在哪里设置?Socket的超时多长时间为最好呢?
请高手们给我一个思路,讲一下怎么做的,我现在非常急需,如果有例子那是最好的了。我的E-mail:[email protected] 最好能给我一下例子,在此非常感激了。
我的初步想法如下:定时发送写在Timer里面:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
//发送数据;
end;
接收数据:
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
//接收当天的数据;
end;
但是这样一来,怎么来处理超时问题呢?如果超时了就要重发了,这些怎么实现呢??急需等待
我遇到的问题是:
用TClientSocket来连接服务端,定时发送数据(每天8:00),然后服务端将今天数据再返回给客户端的TClientSocket上,客户端接收数据通过TClientSocket的OnRead事件里。8:00发送数据后如果超时了没有接到数据,重复发送三次,如果都没有收到数据,就向备用服务器发送命令数据,这是我的思路确保每天都能接收到今天的数据,不能丢失,所以就要用到超时了,客户接收数据在TClientSocket的OnRead事件里执行。
我现在不知道怎样来做这个?怎样来实现我的这种思路?并且Socket的超时时间在哪里设置?Socket的超时多长时间为最好呢?
请高手们给我一个思路,讲一下怎么做的,我现在非常急需,如果有例子那是最好的了。我的E-mail:[email protected] 最好能给我一下例子,在此非常感激了。
我的初步想法如下:定时发送写在Timer里面:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
//发送数据;
end;
接收数据:
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
//接收当天的数据;
end;
但是这样一来,怎么来处理超时问题呢?如果超时了就要重发了,这些怎么实现呢??急需等待
解决方案 »
- 关于listview不同行显示不同颜色的问题。运行出异常。
- 怎么让一个string里面能包含'这样的字符呢
- select count(1) from table1 这句话什么意思?
- 怎样将PageControl的caption中文字竖立?
- 哪里有Developer QuantumGrid控件下载
- 程序提示: 无法定位程序输入点fadd于动态链接库libfml.dll?我该怎么办?
- 我想问一下,delphi 里用idhttp post发送图片到ASP页面然后保存到SQL数据库的方法,不知道那位大哥有代码。
- fastReport怎么让图片的FileLink指向一个变量呢
- 一个小小小的打印问题,
- 大侠,StrToDate中的STRING的格式?
- 怎样设定横向打印功能?高分相送
- FastReport问题
当
ErrorCode = 10060 时,表示是连接超时,然后重新建立连接。
可以设置一个全局标志位,记录重发次数!
实现起来还是很简单的!procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
beginend;