private static void InitializeUser(string JsonPath) { if (File.Exists(JsonPath)) { StreamReader streamReader = new StreamReader(JsonPath); JsonData jsonData = JsonSerializer.Parse(streamReader.ReadToEnd()); foreach (JsonData jsonData1 in jsonData) { UserList.Add(JsonSerializer.ConvertToInstance <User>(jsonData1)); } streamReader.BaseStream.Close(); streamReader.Close(); } else { JsonData jsonData = new JsonData() { DataType = JsonDataType.Array, content = new List <JsonData>() }; foreach (User usr in UserList) { jsonData.Add(JsonSerializer.Create(usr)); } StreamWriter streamWriter = new StreamWriter(JsonPath, false); streamWriter.Write(JsonSerializer.ConvertToText(jsonData)); streamWriter.Flush(); streamWriter.BaseStream.Close(); } }
} // 发送吸引注意力 private static void Server_RecvedClientMsg(object sender, Socket socket, byte[] buffer, int size) { string recvStr = Encoding.UTF8.GetString(buffer, 0, size); JsonData[] recvJsons = JsonSerializer.ParseStream(recvStr); foreach (JsonData recvJson in recvJsons) { TransPackage recvPackage = JsonSerializer.ConvertToInstance <TransPackage>(recvJson); DealRecvPackage(recvPackage, ref socket, ref buffer, size); } } // 当收到客户端消息
public void SelfClient_ReceivedMsg(object sender, System.Net.Sockets.Socket socket, byte[] buffer, int size) { MainChat sender1 = (MainChat)((SocketClient)sender).Tag; try { string recvText = Encoding.UTF8.GetString(buffer, 0, size); JsonData[] recvJsons = JsonSerializer.ParseStream(recvText); foreach (JsonData per in recvJsons) { TransPackage recvPackage = JsonSerializer.ConvertToInstance <TransPackage>(per); sender1.DealPackage(recvPackage); } return; } catch { MessageBox.Show("Received wrong data which can't be decoded.", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }