السلام عليكم ورحمة الله وبركاته
أنا عملت برنامج شات يتم فيه إرسال النصوص (Text) ، ولكن النص الذي أرسله يصل إلى الطرف الأخر بتنسيق مختلف من حيث لون الخط وحجم الخط .
أظن سؤالي واضح : كيف أرسل النص عبر الشبكة بنفس التنسيق؟
السلام عليكم ورحمة الله وبركاته
أنا عملت برنامج شات يتم فيه إرسال النصوص (Text) ، ولكن النص الذي أرسله يصل إلى الطرف الأخر بتنسيق مختلف من حيث لون الخط وحجم الخط .
أظن سؤالي واضح : كيف أرسل النص عبر الشبكة بنفس التنسيق؟
وعليكم السلام
شيء طبيعي ان لا يتم ارسال لون النص مع النص في حالة التعامل مع الـTextbox, الحل هو باستخدام RichTextBox إذ يمكن حفظ التنسيق كاملا على Stream ثم تحويله إلى Bytes وإرساله عبر الشبكة وكما يلي كمثال في حالة الإرسال:
TcpClient myclient = new TcpClient (txt_host.Text,7000); NetworkStream myns = myclient.GetStream (); MemoryStream ms = new MemoryStream(); richTextBox1.SaveFile(ms, RichTextBoxStreamType.RichText); myns.Write(ms.ToArray(), 0, ms.ToArray().Length); myns.Close (); myclient.Close ();
وكما يلي في حالة الإستقبال:
TcpListener mytcpl; Socket mysocket; NetworkStream myns; mytcpl = new TcpListener (7000); mytcpl.Start (); mysocket = mytcpl.AcceptSocket (); myns = new NetworkStream (mysocket); byte[] buffer = new byte[1024]; myns.Read(buffer,0,1024); MemoryStream ms = new MemoryStream(buffer); richTextBox1.LoadFile(ms, RichTextBoxStreamType.RichText); mytcpl.Stop();
المثال في المرفقات
تم تعديل هذه المشاركة بواسطة فادي عبدالقادر في 10 مارس 2007 في 02:30
جزاك الله خير أخي فادي ، البرنامج ممتاز يعمل بشكل ممتاز ولكن هو يستخدم بروتوكول TCP بينما أنا أستخدم بروتوكول UDP broadcast ، ياليت تساعدني في تعديل هذا الكود .
كود ا لإرسال
كود الأستقابل
السلام عليكم
يوجد لديك بعض النقص في الكود منه انه في حالة الإرسال كـBroadcast فيجب تفعيل ذلك من الـSocket Option على اي حال التعديل في المرفقات
موفق إن شاء الله
اخوتي محتاج برنامج شات لاكثر من مستخدم يحدد المستخدم اللي يرسل له من list
موقوف من المشاركة لقلة الأدب
============================
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…