0

我有一个我们正在使用 NetworkComms 强大的网络组件构建的 android 应用程序。我发现的一个问题是,现在我想收听 UDP 广播以及直接消息,我只看到 TCP 广播,而没有接收 UDP 广播。

我的服务器代码(简化)

EventLog.Debug(TAG, "Starting message receiver");
DataSerialisation.ConfigureSerialisation();

this.HostAddress = GetIpAddress();
NetworkComms.AppendGlobalIncomingPacketHandler<CameraInfo>("CameraInfo", RegisterCallback);
NetworkComms.AppendGlobalIncomingPacketHandler<UserCheckIn>("UserCheckIn", CheckInCallback);
NetworkComms.AppendGlobalIncomingPacketHandler<CameraImage>("CameraImage", ImageCallback);
NetworkComms.AppendGlobalIncomingPacketHandler<StateChange>("StateChange", StateCallback);

mLocalPort = 8088;
Connection.StartListening(ConnectionType.TCP, new System.Net.IPEndPoint(GetIpAddress(), 8088));

EventLog.Debug(TAG, "Server TCP socket initialised. {0} port: {1}", this.HostAddress.ToString(), mLocalPort);

//Start listening for incoming UDP data as well
Connection.StartListening(ConnectionType.UDP, new IPEndPoint(GetIpAddress(), 10000));

我的客户端每隔几秒钟就在 U​​DP 上传输 CameraInfo 对象:

private void BroadcastObject(object message) {
    var objectTitle = message.GetType().Name;
    UDPConnection.SendObject(objectTitle, message, new IPEndPoint(IPAddress.Broadcast, 10000));
}

谁能告诉我为什么 UDP 发送的对象永远不会到达,而 TCP 发送的对象会?

提前致谢。

4

0 回答 0