Ejemplo n.º 1
0
 public UdpPTZMessagesTransport(string host, int port)
 {
     _host      = host;
     _port      = port;
     _udpClient = new AsyncNetUdpClient(host, port);
     _udpClient.UdpPacketArrived += _udpClient_UdpPacketArrived;
     _udpClient.ClientStarted    += _udpClient_ClientStarted;
     _udpClient.ClientReady      += _udpClient_ClientReady;
     _udpClient.ClientStopped    += _udpClient_ClientStopped;
 }
Ejemplo n.º 2
0
        public static void Init()
        {
            if (udpClient == null)
            {
                udpClient = new AsyncNetUdpClient(HOST, PORT);

                udpClient.ClientReady += (s, e) =>
                {
                    //var msgModel = new MessageModel
                    //{
                    //    Msg = "登录成功",
                    //    FromUid = userInfo.id.ToString(),
                    //    FromUname = userInfo.nickname,
                    //};
                    //var strMsg = Newtonsoft.Json.JsonConvert.SerializeObject(msgModel);
                    //udpClient.Post(Encoding.UTF8.GetBytes(strMsg));
                };

                udpClient.UdpPacketArrived += (s, e) =>
                {
                    var recMsg = Encoding.UTF8.GetString(e.PacketData);
                    try
                    {
                        var modelList = Newtonsoft.Json.JsonConvert.DeserializeObject <List <MessagesModel> >(recMsg);
                        if (modelList != null && modelList.Count > 0)
                        {
                            //AddChattingFriend(modelList[0]);
                            foreach (var model in modelList)
                            {
                                string showMsg = $"{model.id}:{model.msg}";
                                if (model.read_state == -99)
                                {
                                    if (model.msg.Equals("ok"))
                                    {
                                        dicMsgModels.TryRemove(model.id, out MessageModel m);
                                    }
                                }
                                Console.WriteLine(showMsg);
                            }
                        }
                    }
                    catch (Exception)
                    {
                    }
                };

                udpClient.StartAsync(CancellationToken.None);
            }
        }
Ejemplo n.º 3
0
 public UdpClientReadyData(AsyncNetUdpClient client, string serverHostname, int serverPort) : base(serverHostname, serverPort)
 {
     this.Client = client;
 }