就只有90分了,都放出来1.IdUdpServer 的active设置为true跟false有什么区别,好像都可以发送消息?2.
我在一个按钮里面
发送消息 SendBuffer 然后又 ReceiveBuffer
我想知道有没有问题,对方发送消息过来了,那么是
ReceiveBuffer收到呢?还是在UDPRead(这个事件里面里面也有处理代码)
里面收到呢?还是怎么回事
搞不清楚高手讲讲他是怎么工作的,谢谢!
我在一个按钮里面
发送消息 SendBuffer 然后又 ReceiveBuffer
我想知道有没有问题,对方发送消息过来了,那么是
ReceiveBuffer收到呢?还是在UDPRead(这个事件里面里面也有处理代码)
里面收到呢?还是怎么回事
搞不清楚高手讲讲他是怎么工作的,谢谢!
self.IdUDPServer1.DefaultPort:=9000;
self.IdUDPServer1.Active:=true;
//接收数据
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
RevStream:TMemoryStream;
AMsg:TFileMessage;
begin
if AData=nil then exit;
RevStream:=TMemoryStream.Create;
RevStream.LoadFromStream(AData);
RevStream.Seek(0,soFromBeginning);
RevStream.Read(AMsg,sizeof(AMsg);
RevStream.Free;
end;
//发送数据
self.IdUDPServer1.SendBuffer('192.168.0.1',9900,AMsg,sizeof(AMsg));
希望能给我解释清楚
2:两个地方不可能同时监听同一端口,会提示端口已被占用
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EIdCouldNotBindSocket with message 'Could not bind socket. Address and port are already in use.'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------