private void fClientHome_FormClosed(object sender, FormClosedEventArgs e) { while (ThreadManager.Count > 0) { ThreadManager.Dequeue().Abort(); } var pket = new Packet( string.Format("{0} ({1}) just been logout", Program.User.Name, Program.User.Username), StatusCode.LogOut, Program.User.ToJSon() ); Program.srvProxy.Logout(pket.ToJson()); }
private void btnSend_Click(object sender, EventArgs e) { if (txtMessage.Text.Trim().Equals(string.Empty)) { return; } var sendMess = new TagMessage(MessageType.Sender, txtMessage.Text); var emptyMess = new TagMessage(MessageType.Empty, ""); pnSender.Controls.Add(sendMess); pnReceiver.Controls.Add(emptyMess); var pket = new Packet("", StatusCode.Chat, txtMessage.Text); Program.srvProxy.Notify(pket.ToJson()); txtMessage.Clear(); }
private void fClientHome_Load(object sender, EventArgs e) { if (Program.User == null) { fLogin flg = new fLogin(); flg.ShowDialog(); } string stringJson = Program.srvProxy.GetUserOnline(Program.User.Username); var usersOnline = JsonToListUserClient(stringJson); var pket = new Packet( string.Format("{0} ({1}) just been login", Program.User.Name, Program.User.Username), StatusCode.LogIn, Program.User.ToJSon() ); var content = pket.ToJson(); Program.srvProxy.Notify(content); AddItems(usersOnline); }
// Sends packets to the server asynchronously private async Task _sendPacket(Packet packet) { try { // convert JSON to buffer and its length to a 16 bit unsigned integer buffer byte[] jsonBuffer = Encoding.UTF8.GetBytes(packet.ToJson()); byte[] lengthBuffer = BitConverter.GetBytes(Convert.ToUInt16(jsonBuffer.Length)); // Join the buffers byte[] packetBuffer = new byte[lengthBuffer.Length + jsonBuffer.Length]; lengthBuffer.CopyTo(packetBuffer, 0); jsonBuffer.CopyTo(packetBuffer, lengthBuffer.Length); // Send the packet await _msgStream.WriteAsync(packetBuffer, 0, packetBuffer.Length); //Console.WriteLine("[SENT]\n{0}", packet); } catch (Exception) { } }