using System;
using System.Collections.Generic;
using WebSocketSharp;
using WebSocketSharp.Server;
using HslCommunication.MQTT;
using Newtonsoft.Json;
using System.Diagnostics;
using System.Runtime.ConstrainedExecution;
using System.Text;
using static CustomWebSocketServer.Program;
using System.Xml.Linq;
using HslCommunication.Profinet.OpenProtocol;
using Microsoft.VisualBasic;
namespace CustomWebSocketServer
{
//主方法入口
class Program
{
public static WebSocket? ws;
public delegate void transfer(string str);
public static transfer? trdata;
public static HslCommunication.OperateResult? connect;
//存放MQTT实例的变量,使用其提供的方法和属性,与MQTT进行连接。发布消息、订阅主题等操作
public static MqttClient? mqttClient;
//存储与订阅相关的操作
static HslCommunication.OperateResult? sub;
//HslCommunication.OperateResult trackSub;
static string[] topics = new string[] { "robot/serverSendData/11469c14bfb14c008fb3361eead03c21" };
static void Main(string[] args)
{
//创建websocket服务器
{
//自己创建的websocket服务器
MyWebSocketService.Initialize("ws://localhost:8080");
WebSocketServer server = new WebSocketServer("ws://localhost:8080");
server.AddWebSocketService<CustomWebSocket>("/ws");
server.Start();
Console.WriteLine("WebSocket 服务器已启动。按 Enter 键退出。");
//server.Stop();
}
//创建连接WebSocket连接客户端向服务端发送消息
{
try
{
ws = new WebSocket("ws://localhost:8080/ws");
ws.Connect();
ws.OnOpen += (sender, e) =>
{
Console.WriteLine("WebSocket connection opened successfully.");
// 连接成功后发送数据
ws.Send("你好");
};
}
catch (Exception ex) { Console.WriteLine("失败" +
""+ex.ToString()); }
}
// 创建Mqtt客户端信息
{
Mqtt.InitMQTT();
}
Console.ReadLine();
}
}
//MQTT客户端连接部分
static class Mqtt
{
public static HslCommunication.OperateResult? connect;
//存放MQTT实例的变量,使用其提供的方法和属性,与MQTT进行连接。发
MQTT转Websocket服务器,并通过客户端接收【WebGl端】
最新推荐文章于 2024-05-27 19:19:16 发布