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