الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استفسار عن عمل شات باجافا

بدأه الازرق الماهر في 8 ديسمبر 2011 · 2 رد · 740 مشاهدة · في منتدى الشبكات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي استفسار بخصوص عمل شات بالجافا

اذافتحت اكثر من gui للكلاينت وارسلت جملة من الكلاينت

الى السيرفر فمن المفترض يرسل الى جميع الكلاينت لكن

المشكله السيرفر يرسل فقط الى الكلاينت المرسل الى

السيرفر فارجو مسادتي في هذه المشكلة ولكم مني جزيل الشكر

#2

السلام عليكم ..

  1. يجب على السيرفر أن يحتفظ بكل الــ Socket التي تصله و لنفرض ان ChatCommunication هو الصف الذي يمثل الكلاينت عند السيرفر ...
    ArrayList<ChatCommunication> chatCommunicationList = new ArrayList<ChatCommunication>();
    while(true
    {
    	Socket socket = serversocket.accept();
    	ChatCommunication chat = new ChatCommunication(socket);
    	chatCommunicationList.add(chat);
    }

  2. عندما تصله رسالة و يريد الإرسال لكل الــ Clients يستخدم كود يشبه الكود التالي :
    for(ChatCommunication chat : chatCommunicationList)
    {
    	chat.sendText("thMessage");
    }

  3. يفضل وضع بروتوكول للاتصال بتخصيص أول ثلاثة أحرف مثلا من كل رسالة من الكلاينت , فهي إما كلمة ALL للإرسال إلى كل الكلاينت الموجودين أو اسم أو رقم الكلاينت المطلوب إرسال الرسالة له ..
  4. الكود تجريبي , حاول الاستفادة من الرابط .. أو ارسل لنا الكود كي نعدل عليه ..

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3
houssam11350_11350 كتب:

السلام عليكم ..

  1. يجب على السيرفر أن يحتفظ بكل الــ Socket التي تصله و لنفرض ان ChatCommunication هو الصف الذي يمثل الكلاينت عند السيرفر ...
    ArrayList<ChatCommunication> chatCommunicationList = new ArrayList<ChatCommunication>();
    while(true
    {
    	Socket socket = serversocket.accept();
    	ChatCommunication chat = new ChatCommunication(socket);
    	chatCommunicationList.add(chat);
    }

  2. عندما تصله رسالة و يريد الإرسال لكل الــ Clients يستخدم كود يشبه الكود التالي :
    for(ChatCommunication chat : chatCommunicationList)
    {
    	chat.sendText("thMessage");
    }

  3. يفضل وضع بروتوكول للاتصال بتخصيص أول ثلاثة أحرف مثلا من كل رسالة من الكلاينت , فهي إما كلمة ALL للإرسال إلى كل الكلاينت الموجودين أو اسم أو رقم الكلاينت المطلوب إرسال الرسالة له ..
  4. الكود تجريبي , حاول الاستفادة من الرابط .. أو ارسل لنا الكود كي نعدل عليه ..

client.txt

تم تعديل هذه المشاركة بواسطة الازرق الماهر في 9 ديسمبر 2011 في 16:10

مواضيع مشابهة