/// <summary> /// The call send. /// </summary> private void CallSend() { if (string.IsNullOrEmpty(this.MessageTextbox.Text)) { return; } var packet = new Packet(this.net.TheUser.UserId, this.friend.UserId, this.MessageTextbox.Text); SendMessageDelegate sendMessage = this.SendPacket; sendMessage.BeginInvoke(packet, this.net, null, null); }
//wysyłanie przez chmurę kablową public void wyslijSPacket(Packet.SPacket cos) { parent.whatToSendQueue.Enqueue(cos); }
//odbieranie z chmury kablowej public void OdczytajS(Packet.SPacket cos) { kolejkaS.Enqueue(cos); }
//każdy pakiet, od razu rozpoznaje rodzaj - czy zapytanie czy odpowiedź, innych nie powinno być, najwyzej przepadną, dodawanie do dobrej kolejki public void OdczytajATM(Packet.ATMPacket pkt) { String tresc = this.FromPayload(pkt.payload); if (tresc.Equals("ZYJESZ?")) { kolejkapyt.Enqueue(pkt); } else if (tresc.Equals("ZYJE")) { kolejkaodp.Add(pkt); } }
/// <summary> /// The update user interface. /// </summary> /// <param name="packet"> /// The packet. /// </param> private void UpdateUserInterface(Packet packet) { this.MessageTextbox.Clear(); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append(System.Environment.NewLine); stringBuilder.Append( packet.RecipientId == this.friend.UserId ? this.net.TheUser.UserName : this.friend.UserName); stringBuilder.Append(" at "); stringBuilder.Append(System.DateTime.Now.ToShortTimeString()); stringBuilder.Append(": "); stringBuilder.Append(packet.Message); this.ChatTextbox.AppendText(stringBuilder.ToString()); }
/// <summary> /// The send packet. /// </summary> /// <param name="packet"> /// The packet. /// </param> /// <param name="net"> /// The net. /// </param> private void SendPacket(Packet packet, Networking network) { network.SendMessage(packet); this.Dispatcher.BeginInvoke( System.Windows.Threading.DispatcherPriority.Normal, new UpdateUserInterfaceDelegate(this.UpdateUserInterface), packet); }
/// <summary> /// The serialize. /// </summary> /// <param name="obj"> /// The user /// </param> /// <returns> /// The byte array of the user /// </returns> public static byte[] Serialize(Packet obj) { if (obj == null) { return null; } var bf = new BinaryFormatter { AssemblyFormat = FormatterAssemblyStyle.Simple }; var ms = new MemoryStream(); bf.Serialize(ms, obj); return ms.ToArray(); }
/// <summary> /// The send message. /// </summary> /// <param name="packet"> /// The packet. /// </param> internal void SendMessage(Packet packet) { this.writer.Write(ImStatuses.ImSend); this.writer.Write(packet.Message); this.writer.Flush(); }