我是这么写的,不过好像不能用,程序运行到 recvlen:=recv(FSocket,buf,sizeof(buf),0) ;时,如果收不到字符串就停在这里了,郁闷!!! 各位大哥指导下阿,。。
var timeout:integer;
timeout:=1;
timeout:=timeout+1;
fillchar(buf, sizeof(buf),#0);
recvlen:=recv(FSocket,buf,sizeof(buf),0) ;
if (recvlen>0) and (timeout<10) then
begin
mainform.Memo1.Lines.Add(datetimetostr(now())+' '+copy(buf,0,recvlen));
showmessage('done');
update_meterchange.Close;
exit;
end
else
begin
showmessage('setting failed');
exit;
end;