目录
一、服务器端(接收端)
二、客户端(广播端)
Delphi中进行UDP广播通信函数代码:
一、服务器端(接收端)
在主界面上返放置一个TIdUDPServer控件,设置好该控件的监听端口,例如:8192。 然后书写OnUDPRead事件函数。
procedure TForm_APP_BOX.IdUDPServerUDPRead(AThread: TIdUDPListenerThread;
const AData: TIdBytes; ABinding: TIdSocketHandle);
var
RequestStr : string;
begin
//1. 处理接收到的数据
RequestStr := TEncoding.UTF8.GetString(TBytes(AData));
//2. 显示接收的数据
ShowMessage(RequestStr );
end;
二、客户端(广播端)
广播端函数:
procedure Broadcast_Message(msg : string);
var
UDPClient: TIdUDPClient;
B : TBytes;
begin
//构造广播消息
UDPClient := TIdUDPClient.Create(nil);
try
UDPClient.BroadcastEnabled := True;
B := TEncoding.UTF8.GetBytes(msg );
UDPClient.Broadcast(TidBytes(B),8080); //端口号
finally
UDPClient.Free;
end;
end;
以上函数并未进行数据合法性判断,另外如果要发送大数据,可以调整BufferSize属性,默认是8192字节。
用好UDP,将可以很容易实现在同一个网络中进行设备搜寻,简单协议通信等,包括移动设备!