我需要创建服务器和客户端程序与突触使用UDP协议。
我已经创建了服务器程序来监听任何类似这样的消息
procedure TForm1.Timer1Timer(Sender: TObject);
var
resive:string;
begin
InitSocket;
resive:=UDPResiveSocket.RecvPacket(1000);
if resive<>'' then Memo1.Lines.Add('>' + resive);
DeInitSocket;
end;
procedure TForm1.InitSocket;
begin
if UDPResiveSocket <> nil then
DeInitSocket;
UDPResiveSocket := TUDPBlockSocket.Create;
UDPResiveSocket.CreateSocket;
UDPResiveSocket.Bind('0.0.0.0','22401');
UDPResiveSocket.AddMulticast('234.5.6.7');
UDPResiveSocket.MulticastTTL := 1;
end;
procedure TForm1.DeInitSocket;
begin
UDPResiveSocket.CloseSocket;
UDPResiveSocket.Free;
UDPResiveSocket := nil;
end;
所以我得到了所有传入的消息。但是我想从消息的源发送一个响应。
我该怎么做呢?我的方法对服务器/客户端有好处吗?
2条答案
按热度按时间bkhjykvo1#
我的UDP Echo客户端/服务器代码.首先服务器:
然后客户端:
这段代码是用免费的pascal编写的,但在 Delphi 中也能很好地工作。客户端单元实际上是一个线路分析器,它计算平均响应时间和丢弃的数据包。它是检查连接到某个服务器的互联网线路质量的理想工具。你把echo服务器放在服务器端,把客户端放在客户端。
hiz5n14c2#
两个程序中的简单客户端-服务器
客户端发送两个字符串“Hello world”和“exit”
服务器等待客户端消息,并在客户端发送“退出”后停止
写在自由帕斯卡(Lazarus)上
委托人
伺服器