procedure TestConnectUDPRead(Sender: TObject;
AData: TStream; ABinding: TIdSocketHandle);
var
sErr : string;
begin
StreamToBytes(AData,ArrRet);
if(GetErrorCode(ArrRet)<>0)then
begin
sErr := IntToStr(GetCmdType(ArrRet))+':'+IntToStr(GetErrorCode(ArrRet));
Mm_Msg.Lines.Add('Any error was occured! '+sErr);
end;
case GetCmdType(ArrRet) of
5:begin
UDPSendCommand(UDPServer,lvDevice.Selected.SubItems.Strings[5],
StrToInt(lvDevice.Selected.SubItems.Strings[6]),
UDP_CheckAdmin(DevID,SerialNo,sAdminCode),sErr);
///--------------------------------------(1)
Mm_Msg.Lines.Add('Connect Device Success!');
end;
6:begin
Mm_Msg.Lines.Add('Disconnect Device Success!');
exit;
end;
7:begin
UDPSendCommand(UDPServer,lvDevice.Selected.SubItems.Strings[5],
StrToInt(lvDevice.Selected.SubItems.Strings[6]),
UDP_DisConnect(DevID,SerialNo),sErr);
///--------------------------------------(2)
Mm_Msg.Lines.Add('Check AdminCode Success!');
end;
end;
end;
我是这样做的,
在接受返回数据的事件里也做发命令,
俺现在想在1、2 处加判断超时语句,
你刚才说的意思我懂,但是,最关键的没有说出来,那就是如何监听一个端口有没有数据返回???!!!
分少可以加,麻烦大家了,
多谢。。。