From ea0b1e8e5f43c5fd0a7d479e25ede3b8cbea464a Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期一, 02 十二月 2024 17:17:19 +0800
Subject: [PATCH] tcp;可视对讲;
---
HDL_ON/DAL/DriverLayer/UdpSocket.cs | 39 +++++++++++++++++++++++++++------------
1 files changed, 27 insertions(+), 12 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/UdpSocket.cs b/HDL_ON/DAL/DriverLayer/UdpSocket.cs
index f6f9c40..6b1178d 100644
--- a/HDL_ON/DAL/DriverLayer/UdpSocket.cs
+++ b/HDL_ON/DAL/DriverLayer/UdpSocket.cs
@@ -1,6 +1,8 @@
锘縰sing System;
using System.Net.Sockets;
using System.Net;
+using Newtonsoft.Json;
+using System.Text;
namespace HDL_ON.DriverLayer
{
@@ -47,7 +49,8 @@
{
busSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
busSocket.EnableBroadcast = true;
- }catch(Exception ex)
+ }
+ catch (Exception ex)
{
MainPage.Log("Socket 寮傚父 : " + ex.Message);
}
@@ -67,8 +70,6 @@
}
asyncBeginReceive();
-
- MainPage.Log($"udp port : {port}");
}
/// <summary>
@@ -141,8 +142,6 @@
/// </summary>
private int relinkCount = 0;
-
-
/// <summary>
/// 寮傛鎺ユ敹鏁版嵁缁撴潫
/// </summary>
@@ -167,17 +166,33 @@
packet.Bytes = new byte[len];
Array.Copy(bytes, 0, packet.Bytes, 0, packet.Bytes.Length);
- //MainPage.Log($"鎺ユ敹{packet.RemoteEndPoint}鏁版嵁");
//mqtt杩炴帴鏁版嵁璇诲彇 A鍗忚缃戠粶璁惧淇℃伅璇诲彇鍥炲 澶勭悊
if (((IPEndPoint)packet.RemoteEndPoint).Port == 8585)
{
- Control.Ins.ConvertReceiveData(bytes, ((IPEndPoint)packet.RemoteEndPoint).Address.ToString());
+ var receiveString = Encoding.UTF8.GetString(bytes);
+ var res = receiveString.Split("\r\n\r\n");
+ string topic = "";
+ if (res.Length == 2)
+ {
+ var topics = res[0].Split("\r\n");
+ //MainPage.Log(res[1]);
+ foreach (var ts in topics)
+ {
+ var key = ts.Split(":");
+ switch (key[0])
+ {
+ case "Topic":
+ topic = key[1];
+ break;
+ }
+ }
+ Control.Ins.ConvertReceiveData(bytes, ((IPEndPoint)packet.RemoteEndPoint).Address.ToString());
+ }
+ else if (((IPEndPoint)packet.RemoteEndPoint).Port == 6000)//澶勭悊bus 6000绔彛鐨勬暟鎹�
+ {
+ packet.Manager();
+ }
}
- else if (((IPEndPoint)packet.RemoteEndPoint).Port == 6000)//澶勭悊bus 6000绔彛鐨勬暟鎹�
- {
- packet.Manager();
- }
-
}
catch (Exception ex)
{
--
Gitblit v1.8.0