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); } }
public Task Initialize() { _cancellationTokenSource = new CancellationTokenSource(); _logger.LogInfoMessage($"UDP client initialize..."); return(_udpClient.StartAsync(_cancellationTokenSource.Token)); }