using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using System.Collections.Concurrent; using System.Linq; using System.Diagnostics; using UnityEngine.Networking; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; public class MyNetMQClient : MonoBehaviour { public static MyNetMQClient instance; [DisplayOnly] public string PubIP= "127.0.0.1:8082"; [DisplayOnly] public string SubIP = "127.0.0.1:8081"; /// /// 接口IP (配置文件) /// public static string CallIP = "192.168.1.161:8080"; public static string SyncServerIP = "192.168.1.161:8888"; public static string remoteServerIP = "192.168.1.161:8890"; [HideInInspector] public NetMqListener _netMqListener; [HideInInspector] public NetMqPublisher _netMqPublisher; private void Awake() { instance = this; } /// /// 初始化Netmq /// /// 接收函数 public void Init(string ServerSubIP,string ServerPubIP, NetMqListener.ReciveMessageInThread reciveInthread, NetMqListener.ReceiceMessageInMono reciveInMono,string typename) { SubIP = ServerSubIP; PubIP = ServerPubIP; //开启接收模块 _netMqListener = new NetMqListener(ServerSubIP, reciveInthread, reciveInMono); _netMqListener.typeName = typename; //开启发送模块 _netMqPublisher = new NetMqPublisher(ServerPubIP); _netMqPublisher.typeName = typename; } /// /// 发送消息 /// /// public void Send(string msg) { _netMqPublisher.AddMessageToSendQue(GlobalFlag.roomID, 0, Encoding.UTF8.GetBytes(msg)); } private void Update() { if (_netMqListener != null) { _netMqListener.UpdateByte(); } } public void Destroy() { _netMqListener._listenerCancelled = true; _netMqPublisher._listenerCancelled = true; UnityEngine.Debug.Log("销毁xxxxx"); Destroy(this); } } /// /// 消息体 /// [Serializable] public class st_Motions { /// /// 域 /// public string area; /// /// 消息标识 /// public int m_iOperaType; /// /// 消息内容(byte[256]) /// public byte[] m_sOperaData; } /// /// 演习状态 /// public enum ProgramState { 结束, 进行中 } public class DisplayOnly : PropertyAttribute { }