منتدى مصر التقني
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أحمد مناع الجمعة أغسطس 09, 2013 9:35 pm

بسم الله الرحمن الرحيم 

أهلا وسهلا بكم إخوانى الكرام و كل عام وانتم بخير ....اليوم إن شاء الله تعالى سنتعلم سويا كيفية أنشاء تطبيق الدردشة للجولات . باستخدام هذا التطبيق يمكنك الدردشة بعضها البعض إذا الجهازين على الشبكة نفسها. ...و في الواقع فكرة هذا التطبيق ستقوم على أنه سيحتوي هذا التطبيق واجهة خادم الدردشة Chat Server  وواجهة عميل الدردشة Chat Client ..... و عند تشغيل خادم الدردشة، يمكن ربط جهاز الآخر مع الجهاز السابق باستخدام تطبيق دردشة العميل.

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 11

دعونا نفهم السيناريو باستخدام الصور ....لكى يتم تشغيل التطبيق لديك يجب أولا تشغيل خادم الدردشة (الشكل 2). لأن العميل بحاجة إلى خادم تشغيل للاتصال.....وعندما يتم تشغيل خادم الدردشة يقوم بالدخول إلى الهاتف المحمول الخاص بك و يقوم بالتأكد من وجود عميل الدردشة على نفس الشبكة ليقوم بعدها بتوصيل الأجهزة بعضها البعض من خلال عنوان IP الجهاز



تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 32

في واجهة الأولي من التطبيق خادم الدردشة سنقوم بانشاء زر امر وليكن بأسم Start.....و فية سنقوم بكتابة التعليمات البرمجية لتشغيل الخادم، عند النقرعلى الأمر ابدأ على الشاشة. فيقوم بالبحث عن العميل وعرض عنوان IP الجهاز كما في الشكل 3. لا يزال أنت لا تحتاج إلى تشغيل تطبيق العميل الدردشة.

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 41
تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 51

إذا لم تكن شبكة متاحة فإنه لن يستطيع الخدام تحديد عنوان IP لذلك سوف تحصل العنوان 127.0.0.1 وهو ما يعني المضيف المحلي. وبعد الحصول على عنوان IP الخادم، يتم بدء تشغيل واجهة العميل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 61
وفى واجهة العميل، وسوف نقوم بتوفير مساحة لكتابة وإرسال عنوان IP لملقم. وهذا يعني انك تقوم بإرسال طلب إلى خادم دردشة على التوالي، التي تريد الاتصال به لفتح منفذ لعمل الدردشة بين الجهازين ...و سنتخدم المنفذ الخاص لارسال و استقبال الرسائل القصيرة sms فى الجوال

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 41

الشكل 4 أعلاه يوضح لك فى واجهة العميل طريقة إدخال عنوان IP الخادم وإرسال الطلب إلى الملقم عن طريق الضغط على الامر اتصال.لتشغيل واجهة العميل و الخادم و ربط بعضها البعض بنجاح، وتحصل على رسائل التنبيه على كلا الجهازين كما في الشكل 5. الآن اتصالات مستعدون وأنت أيضا على استعداد للدردشة ويبين الشكل 6 واجهات الدردشة من كل من العميل وتطبيقات الخادم. 

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 51

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 61
ويمكن لأي شخص بدء دردشة لأن رسالة تنبيه يؤكد أن لهما صلة.لذلك سنقوم بانشاء حقل نصى زر إرسال كما في الشكل 7

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 71

ثم يمكنك ان ترى الكتابة النصية التي يتم إرسالها من قبل الطرف الآخر بالحقل النصي الخاص بك كما في الشكل 8. قد سنقوم بتقديد مقدار الأحرف في رسالة واحدة إلى 160 حرف ....وذلك لانه لا يمكنك إرسال أكثر من 160 حرفا في محادثة واحدة من خلال هذا المنفذ .
تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 91


تعالوا الان نقوم بتنفيذ ما سبق برمجيا ......فى البداية سأعرض عليكم الفئات و الواجهات التى سيتم أستخدامها فى التعليمات البرمجية .....بالنسبة للفئات هى على النحو التالى :

DataInputStream
DataOutputStream
InputStream
InterruptedException
OutputStream
StringBuffer
StringItem

اما الواجهات سنتخدم اواجهات الشبكات التالية :



ServerSocketConnection
SocketConnection



وتلك الفئات و الواجهات قد قمنا بشرحها فى درس تعرف على الحزمة JAVA.IO و كيفية أستخدامها و الدرس : التعامل مع الشبكات فى الجافا Java Networking....لذلك سأعتبرك لديك معلومات عن كيفية استخدام تلك الفئات و الواجهات ...أما تطبيق الدردشة الذى سنقوم بإنشاء سيحتوى على 4 فئات وهم على النحو التالى :


1_ MessageReceiver.java .....و الهدف منها ان يقوم باستلام الرسائل من الطرف الاخر

2_MessageSender.java ........و الهدف من تلك الفئة هو ارسال النصوص الى الطرف الاخر

3_ChatClient.java ..............و هى الفئة التى ستقوم بانشاء واجهة عميل الدردشة

4_ ChatServer.java ............و هى الفئة التى ستقوم بإنشاء واجهة خادم الدردشة .


أولا : أنشاء الفئة  MessageReceiver و الفئة   MessageSender  


1_ قم فتح NetBeans وإنشاء مشروع جديد من التصنيف java me من نوع Mobile Application كما فى الصورة التالية :

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 995354347

2_ قم بالنقر على زر التالى ليظهر لك المربع الحوارى لكتابة أسم MyChatApp مع مراعاة إزالة علامة الخيار  Create Hello MIDlet كما فى الصورة التالية :

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 382449582

3_ قم بالنقر على زر الامر التالى حتى تنتهى من الاعدادات المطلوبة و بعد الانتهاء من تحديد كافة المعلومات اللازمة يمنكنك النقر على زر الامر (finsh )ليظهر لك بنية  netbeans ....

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Egy-tech13666647321

4_ بالنسبة للفئة  MessageReceiver.java و الفئة  MessageSender.java سنقوم بادراجهم فى حزمة واحدة package و ليكن بأسم  anuThreadSub ......و لفعل ذلك سنتبع الخطوات التالية :

أ_ نقوم بتحديد ايقونة التطبيق ثم كليك يمين ومن القائمة التى ستظهر أختر الامر New ثم الامر java package  كما فى الصورة التالية :
تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 920852346

ب_سيظهر لك مربع حوارى يطالبك باضافة أسم للحزمة ...أكتب أسم الحزمة فى المكان المخصص و ليكن بأسم  anuThreadSub كما فى الصورة التالية :

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 483500305

ج_ ستجد أنه قد تم إضافة ايقونة بأسم الحزمة الجديدة فى التصنيف source package ....قم بتحديد تلك الايقونة ثم كليك يمين و من القائمة التى ستظهر أختر الامر New ثم الامر java Class كما فى الصورة التالية :

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 476923855

د_ سيظهر لك مربع حوارى يطالبك بوضع اسم لهذا الكلاس أو الفئة ......أكتب فى المكان المخصص الاسم  MessageReceiver كما فى الصورة التالية :

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 843023827

هـــ_بعد الانتهاء من كتابة اسم الفئة أنقر على زر الامر إنهاء .....لتظهر لك صفحة كتابة الشفرة ليس بها غير الشفرات التالية :


الكود:
package anuThreadSub;


public class MessageReceiver {
    
    
}
 _ سنقوم بتعديل الشفرة السابقة على النحو التالى :

_ تحت سطر الامر  package anuThreadSub  نقوم بأدراج المكتبات اللازمة التالية :
الكود:
import java.io.IOException;
import java.io.InputStream;
import javax.microedition.lcdui.Form;
_ نقوم باضافة الامر extends Thread لشفرة إنشاء الفئة لتصبح بالشكل التالى :
الكود:
public class MessageReceiver extends Thread {
    
    
}
_ بداخل تلك الفئة سنقوم بكتابة التعليمات البرمجية التالية :
الكود:
public class MessageReceiver extends Thread {
    private InputStream thisIs;
    private Form thisForm;
    private StringBuffer strBuf;

    public MessageReceiver(InputStream is, Form passForm) {
        this.thisIs = is;
        this.thisForm = passForm;
    }

    public synchronized void run() {
        System.out.println("Message Receiver Thread");

            while (true) {
            int msgByteInt = 0;
            strBuf = new StringBuffer();

            try {

               while (true) {
            
            msgByteInt = thisIs.read();
            strBuf.append((char) msgByteInt);
                
            if (msgByteInt == -1 || msgByteInt == '\n') {
             break;
                    }
                }
                thisForm.append(strBuf.toString());
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }
    
}
 شرح بعض الشفرات السابقة :
_ طالما أستخدمنا  Thread فوجب علينا انشاء الطريقة void run و لمزيد من المعلومان عن هذا الكائن يمكنك متابعة الرابط التالى :

_ بداخل الطريقة  void run قما بعمل حلقة تكرارية لتمكننا من الرد عند تلقى رسائل من الطرف الاخر ....وقمنا بالاعلان عن المتغير strBuf كمخزن نصى لتخزين سلسلة قابلة للتغيير من الأحرف باستخدام الامر new StringBuffer 
_عندما نستخدم  الاسلوب read() لقراءة رسالة الدردشة مرة واحدة، فإنه يمكن قراءة فقط كحد أقصى 255 بايت...... ولكن حجم الرسالة الدردشة ربما تكون أكثر من ذلك الحجم. لذلك بعمل حلقة while  أخرى لقراءة الرسالة كاملة .

_ فى السطر الخامس عشر ....أستخدمنا الاسلوب read()  لقراءة البيانات بالبايت بالتتالى و تخزينة فى المتغير msgByteInt 
_ السطر السادس عشر .....قراءة بايت واحد وإلحاقها إلى StringBuffer  
_ السطر السابع عشر ....جملة شرطية يتم إرجاع قيمة البايت باعتبارة في النطاق من 0 إلى 255.و إذا لم يتوفر البايت لأنه قد تم الوصول إلى نهاية الدفق، يتم إرجاع قيمة -1

 الان أنتهيا من كتابة التعليمات البرمجية للفئة  MessageReceiver.java تعالوا الان نقوم بإنشاء الفئة  MessageSender.java  

و _ كرر الخطوات السابقة من أ حتى د .....ثم أكتب أسم الفئة  MessageSender.java .....و بعد الانتهاء من كتابة اسم الفئة أنقر على زر الامر إنهاء .....لتظهر لك صفحة كتابة الشفرة ليس بها غير الشفرات التالية :
الكود:
package anuThreadSub;

public class MessageSender {
    
}
 
 _ سنقوم بتعديل الشفرة السابقة على النحو التالى :

_ تحت سطر الامر  package anuThreadSub  نقوم بأدراج المكتبات اللازمة التالية :
الكود:
import java.io.IOException;
import java.io.OutputStream;
import javax.microedition.lcdui.TextField;
_ نقوم باضافة الامر extends Thread لشفرة إنشاء الفئة لتصبح بالشكل التالى :
الكود:
public class MessageSender extends Thread{
    
}
_ بداخل تلك الفئة سنقوم بكتابة التعليمات البرمجية التالية :
الكود:
public class MessageSender extends Thread{
   private OutputStream thisOs;
    private String thisSrvChatMsg;
    private TextField thisTxtFld;

      public MessageSender(OutputStream os, TextField passTxtFld) {
        this.thisOs = os;
        this.thisTxtFld = passTxtFld;
    }

    public synchronized void send(String srvChatMsg){
        this.thisSrvChatMsg = srvChatMsg;
        
        notify();
    }

        public synchronized void run() {
        System.out.println("Messege Sender Thread");
        while (true) {

  
            if(!(thisTxtFld.getString().equals(""))){
                thisTxtFld.setString("");
            }

            if (thisSrvChatMsg == null) {
                try {
                    
                    wait();
                } catch (InterruptedException ex) {
                    ex.printStackTrace();
                }

                try {
               thisOs.write(thisSrvChatMsg.getBytes());
                  
                    thisOs.write("\n".getBytes());

                     thisOs.flush();

                    thisSrvChatMsg = null;
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
            }
        }      
    }
}
_ واجهة الخادم و وجهة العميل التى سوف يتم برمجتمها لاحقا ستقوم أستدعاء تلك الفئة من خلال OutputStream لذلك عند بناء المشيد لتلك الفئة جعلنا لها معامل OutputStream كما هو موضح فى الكود أعلاه ..
_قمنا بانشاء الطريقة send لتقوم بارسال النصوص الى الطرف الاخر ....وبداخلها كتبنا الامر notify() وذلك لجعل مؤشر ترابط واحد فى حالة انتظار على شاشة هذا الكائن. 
_قمنا بعمل حلقة تكرارية لتشغيل OutputStream حتى نهاية دردشة كاملة والتي يمكن أن تكون أطول من 255 بايت
_ أستخدمنا جملة شرطية داخل الحلقة لمسح الدردشة السابقة من منطقة الكتابة في الحقل النصي
_أستخدمنا جملة شرطية أخرى للتحقق من قيمة thisSrvChatMsg فيتم الانتظار حتى استدعاء مؤشر ترابط آخر ويخطر الأسلوب notify أو notifyAll لهذا الكائن بذلك .
_ اما من السطر thisOs.write يقوم بكتابة النصوص المخزنة فى المتغير thisSrvChatMsg بالبايت ....ويمكنك من انشاء سطر جديد من خلال الامر  thisOs.write("\n".getBytes() ..
_ وأخير تعيين قيمة الرسالة thisSrvChatMsg حتى تتم عملية الانتظار 


و بهذا نكون قد انتهبنا من الحزمة  package anuThreadSub  و التى تحتوى على فئتين هما  MessageReceiver  و  MessageSender  

ثانيا : إنشاء الفئة ChatClient .. و الفئة  ChatServer  :  

فى البداية سنقوم بتكرار الخطوات السابقة لانشاء حزمة جديدة و ليكن بأسم anuMidSub لاحتواء تلك الفئتين و انشائهما على النحو التالى :



1_ إنشاء الفئة ChatClient ....تلك الفئة ستكون واجهة رسومية بامتداد  MIDlet و بالتالى سيتم إنشائها على النحو التالى :

أ_ تحديد ايقونة التطبيق ثم كليك يمين ومن القائمة التى ستظهر أختر الامر New ثم الامر Visual MIDlet كما فى الصورة التالية :
 
تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Egy-tech13668319871

ب_سيظهر لك مربع حوارى يطالبك ببعض المعلومات كأسم الملف فضع  ChatClient كأسم و اسم الكلاس الخاص ب ChatClient 

ج_بعد الانتهاء من تحديد كافة المعلومات اللازمة للمربع الحوارى السابق قم بالنقر على زر الامر (next) لتظهر لك البنية الرسومية كما فى الشكل التالى :

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Egy-tech13668319873
د_ قم باضافة عدد 2 نافذة Form مع تغير الاسم البرمجى الى sendIpForm و chatForm 

النافذة  sendIpForm قم وضع عليها عدد 2 عنصر أمر Command مع تغير الاسم البرمجى الى exitCmd و  connectCmd .....ثم قم بوضع عدد 1 حقل نصى TextField مع تغير الاسم البرمجى الى ipTxtFld 

النافذة chatForm قم بوضع عليها عدد 1 عنصر أمر  أمر Command مع تغير الاسم البرمجى الى sendCmd .... .ثم قم بوضع عدد 1 حقل نصى TextField مع تغير الاسم البرمجى الى chatMsgTxtFld ....

ثم نقوم بادراج عدد 1 عنصر تنبية Alert مع تغير الاسم البرمجى الى infoAlert 

هــ_كتابة التعليمات البرمجية .....قم بالنقر على التويب source ليتم فتح نافذة كتابة الشفرة و بها بعض الاكواد :

_ ستجد صفحة الكود فيها بعض الشفرات لاستيراد بعض المكتبات ...سنقوم نحن باستيراد المكتبات الاخرى اللازمة على النحو التالى 
الكود:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import anuThreadSub.MessageReceiver;
import anuThreadSub.MessageSender;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.microedition.io.SocketConnection;
_ ستجد ايضا فى صفحة كتابة الشفرة ....أن الفئة قد تم انشائها بالكود التالى :
الكود:
public class ChatClient extends MIDlet implements CommandListener {
سنقوم نحن بتعديل الكود السابق و ذلك بإضافة الامر Runnable ليصبح بالشكل التالى :
الكود:
public class ChatClient extends MIDlet implements CommandListener,Runnable {
_ ستجد خطوط حمراء تدل على وجود خطا فى الكود ...وذلك بسبب أن الواجهة  Runnable تتطلب انشاء الطريقة void run لذلك سيتم إنشائها على النحو التالى :

الكود:
 public void run() {
        
    }
_ تحت السطر البرمجى لانشاء الفئة سنقوم بالاعلان عن المتغيرات التالية :
الكود:
private String chatMsg;
private MessageSender msgSenClass;
private String srvIp;
private SocketConnection socCon;
private DataInputStream is;
private DataOutputStream os;
 _ بداخل الطريقة void run نقوم بكتابة التعليمات التالية :
الكود:
 public void run() {
       srvIp = ipTxtFld.getString();

        if (srvIp != null && srvIp.length() > 0) {
            try {
         socCon = (SocketConnection) Connector.open("socket://" + srvIp + ":60000");

         is = socCon.openDataInputStream();

       os = socCon.openDataOutputStream();
                
            } catch (IOException ex) {
                ex.printStackTrace();
            }

            msgSenClass = new MessageSender(os, chatMsgTxtFld);
            msgSenClass.start();

            MessageReceiver msgRecClass = new MessageReceiver(is, chatForm);
            msgRecClass.start();

            infoAlert = new Alert("Server connected successfully.");
            display.setCurrent(infoAlert, chatForm);  
    }
        }
شرح بعض الاسطر :
_ السطر الخامس ....إنشاء اتصال مأخذ وفتح منفذ لهذا الصدد 
_السطر السادس ....جعل المتغير is يقوم باستلام  دفق البايت (الرسائل النصية )
_السطر السابع .....جعل المتغير os يقوم بارسال البايت 
الاسطر الاخير ....أنشاء كائن جديد من الفئة MessageReceiver لبدء عملية ارسال البيانات

_ سنقوم بالبحث عن الطريقة public void commandAction فى صفحة كتابة الشفرة و ستجدها بها الاكواد التالية :
الكود:
public void commandAction(Command command, Displayable displayable) {
        
        if (displayable == chatForm) {
            if (command == sendCmd) {
              
            }
        } else if (displayable == sendIpForm) {
            if (command == connectCmd) {
              
 
              
            } else if (command == exitCmd) {
              
 
            
            }
        }
      
    }
سنقوم باضافة بعض الشفرات اليها لتصبح كما يلى :

الكود:
 public void commandAction(Command command, Displayable displayable) {
      
        if (displayable == chatForm) {
            if (command == sendCmd) {
               chatMsg = chatMsgTxtFld.getString();
            msgSenClass.send(chatMsg);
 
              
            }
        } else if (displayable == sendIpForm) {
            if (command == connectCmd) {
             new Thread(this).start();
 
              
            } else if (command == exitCmd) {
               notifyDestroyed();
 
              
            }
        }  
    }
و هكذا نكون قد أنتهينا من تلك الفئة 


2_ إنشاء الفئة  ChatServer  ......قم بتكرار الخطوات من أ حتى ج التى استخدمناها فى انشاء الفئة   ChatClient  .....

أولا : التصميم :

_ثم قم بادراج عدد 3 نافذة Form مع تغير الاسم البرمجى الى chatServerForm و showIpForm و srvChattingFrm 

_ النافذة  chatServerForm .....قم بوضع عليها عدد 1 عنصر StringItem مع تغير الاسم البرمجى الى startServerStrItem ....ومن نافذة الخصائص لهذا العنصر أجعل الخاصية Appearance  تساوى القيمة    BUTTON ......و ايضا أجعل الخاصية lable  تساوى القيمة   Start Chat Server ....

ايضا قم بوضع عنصر شريط التقدم Gauge  مع تغير الاسم البرمجى الى  gaugeItem ....ومن نافذة الخصائص لهذا العنصر أجعل الخاصية   lable تساوى Waiting for client... ...

_ ايضا قم بإضافة عدد 2 عنصر امر Command مع تغير الاسم البرمجى الى startCmd و exitCmd

_ النافذة showIpForm ....  قم بوضع عليها عدد 1 عنصر StringItem مع تغير الاسم البرمجى الى ipStrItem ...و ايضا عدد عنصر   امر Command مع تغير الاسم البرمجى الى  exitCmd  

_ النافذة srvChattingFrm .....قم بوضع عليها عدد حقل نصى TextField مع تغير الاسم البرمجى الى chatTxtFld ....و ايضا عدد 2 عنصر امر   Command مع تغير الاسم البرمجى الى  exitCmd  و sendCmd  

 ثانيا : كتابة التعليمات البرمجية

 _ نقوم باستيراد المكتبات الاخرى اللازمة على النحو التالى :
الكود:
import anuThreadSub.MessageReceiver;
import anuThreadSub.MessageSender;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.microedition.io.ServerSocketConnection;
import javax.microedition.io.SocketConnection;
_  ستجد ايضا فى صفحة كتابة الشفرة ....أن الفئة قد تم انشائها بالكود التالى :
الكود:
public class ChatServer extends MIDlet implements CommandListener {
_ سنقوم نحن بتعديل الكود السابق و ذلك بإضافة الامر Runnable و الامر ItemCommandListener ليصبح بالشكل التالى : 
الكود:
public class ChatServer extends MIDlet implements CommandListener , ItemCommandListener, Runnable {
_ ستجد خطوط حمراء تدل على وجود خطا فى الكود ...وذلك بسبب أن الواجهة  Runnable تتطلب انشاء الطريقة void run لذلك سيتم إنشائها على النحو التالى :

الكود:
 public void run() {
        
    }
_ تحت السطر البرمجى لانشاء الفئة سنقوم بالاعلان عن المتغيرات التالية :

الكود:
 private Display display;
    private ServerSocketConnection serSocCon;
    private String deviceIp;
    private SocketConnection socCon;
    private DataInputStream is;
    private DataOutputStream os;
    private Alert infoAlert;
    private String srvChatMsg;
    private MessageSender msgSenderClass;
_ بداخل الطريقة void run نكتب التعليمات التالية :

الكود:
  public void run() {
        System.out.println("Runnig");
        try {
          
            serSocCon = (ServerSocketConnection) Connector.open("socket://:60000");
            System.out.println("Open the socket...");
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        
        try {
          
            deviceIp = serSocCon.getLocalAddress();
            System.out.println("Get device IP...");
        } catch (IOException ex) {
            ex.printStackTrace();
        }

        showIpForm.append(deviceIp);
        display.setCurrent(showIpForm);
        
        try {
            System.out.println("Waiting for client request...");
          
            socCon = (SocketConnection) serSocCon.acceptAndOpen();
            System.out.println("Accepted and open the connection...");
        } catch (IOException ex) {
            ex.printStackTrace();
        }

        try {
          
            is = socCon.openDataInputStream();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        
        try {
          
            os = socCon.openDataOutputStream();
        } catch (IOException ex) {
            ex.printStackTrace();
        }

        msgSenderClass = new MessageSender(os, chatTxtFld);
        msgSenderClass.start();

        MessageReceiver msgReceiverClass = new MessageReceiver(is, srvChattingFrm);
        msgReceiverClass.start();

        infoAlert = new Alert("Client connected successfully.");
        display.setCurrent(infoAlert, srvChattingFrm);
    }
شرح بعض الاسطر البرمجية :

السطر الرابع : تعرف الواجهة ServerSocketConnection كمقبس الخادم لاتصال.... وإنشاء مأخذ أاستماع الخادم على المنفذ  60000 
السطر التاسع : للحصول على  عنوان المضيف (رقم IP) 

_ نقوم بإنشاء طريقة أخرى لمسح محتويات الحقل النصى بعد ما يتم الارسال الى الطرف الاخر 
الكود:
public void clear(){
        chatTxtFld.setString("");
      
    }
_  سنقوم بالبحث عن الطريقة public void commandAction لكتابة التعليمات البرمجية التالية :
الكود:
 public void commandAction(Command command, Displayable displayable) {
      
        if (displayable == chatServerForm) {
            if (command == exitCmd) {
               notifyDestroyed();
 
              
            } else if (command == startCmd) {
              new Thread(this).start();
 
            
            }
        } else if (displayable == showIpForm) {
            if (command == exitCmd2) {
                notifyDestroyed();
 
              
            }
        } else if (displayable == srvChattingFrm) {
            if (command == exitCmd3) {
                 notifyDestroyed();
 
              
            } else if (command == sendCmd) {
              srvChatMsg = chatTxtFld.getString();
          
            msgSenderClass.send(srvChatMsg);
 
                
            }
        }
        
    }
 
المصدر الكامل للكود / 

https://github.com/AnujAroshA/Mobile-Application/tree/master/MyChatApp


وغدا ستم رفع المشروع فى المرفقات

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف م/موسي السبت أغسطس 10, 2013 8:55 am

أشكرك أخى أحمد على هذا المجهود ......
م/موسي
م/موسي
الاشراف
الاشراف

تاريخ التسجيل : 18/02/2011
المساهمات : 178
النقاط : 346
التقيم : 12
الدولة : تونس
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أيمن الإبراهيم السبت أغسطس 10, 2013 11:14 am

مشكوووووووووووووووور جدا على مجهود على الشرح الرائع
أيمن الإبراهيم
أيمن الإبراهيم
........
........

تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أيمن الإبراهيم الإثنين أغسطس 12, 2013 6:50 pm

أستاذ احمد مشكور جدا على الدرس المفيد
بس لدي بعض استفسارات
السؤال الأول :

ثانيا : إنشاء الفئة ChatClient .. و الفئة  ChatServer  :  

فى البداية سنقوم بتكرار الخطوات السابقة لانشاء حزمة جديدة و ليكن بأسم anuMidSub لاحتواء تلك الفئتين و انشائهما على النحو التالى :
هل يجب ان تكون بحزمة منفردة كم في الشكل الاول
تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans WOJDpBu+1WNzgAAAABJRU5ErkJggg==
أيمن الإبراهيم
أيمن الإبراهيم
........
........

تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أيمن الإبراهيم الإثنين أغسطس 12, 2013 6:51 pm

 
[ltr]السؤال الثاني :
سنقوم نحن بتعديل الكود السابق و ذلك بإضافة الامر Runnable ليصبح بالشكل التالى :
[/ltr]
[ltr]الرمز:[/ltr]
[ltr]public class ChatClient extends MIDlet implements CommandListener,Runnable {[/ltr]
[ltr]
_ ستجد خطوط حمراء تدل على وجود خطا فى الكود ...وذلك بسبب أن الواجهة  Runnable تتطلب انشاء الطريقة void run لذلك سيتم إنشائها على النحو التالى :
[/ltr]
[ltr]الرمز:[/ltr]
[ltr] public void run() {
        
    }
[/ltr]
 
هل يجب ان تكون بهذه الطريقة
public class ChatClient extends MIDlet implements CommandListener,Runnable {
    public void run() {
بداخلها التعليمات الخاصة void run         
    }
لكن عندما اضع التعليمات يتكرر الخطوط الحمراء التي تدل على أخطاء
أيمن الإبراهيم
أيمن الإبراهيم
........
........

تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أحمد مناع الثلاثاء أغسطس 13, 2013 9:54 am

أخى الكريم أهلا وسهلا بكم ....

بالنسبة لسؤالك الاول ....ففى الشرح قمت بعمل عدد 2 حزمة و كما هو موجود فى الصورة التى ارفقتها ...ولكن ليس هذا بالضرورة عمل ذلك فيمكنك مثلا مثلا عمل حزمة واحد بها جميع الفئات الاربعة لكن فى تلك الحالة لن نقوم باستخدام باستيراد الفئة كما استخدمناها فى الكود التالى :


الكود:
import anuThreadSub.MessageReceiver;
import anuThreadSub.MessageSender;
أما بالنسبة لسؤالك الثانى : أذا استخدمنا الامتداد Runnable فى الفئة فيجب استخدام الطريقة void run أما وجود خطوط حمراء فلا اعلم من اى الاسباب عندك ادت الى ذلك

على العموم أنتظرى بالمساء سأقوم برفع الكود اليك لانى حاليا فى العمل و الكود فى جهازى الخاص بالبيت

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف زهراء الثلاثاء أغسطس 13, 2013 9:58 am

أخى أحمد أرفع اليك قبعتى تقديرا لمجهودك فى شرح هذا الدرس ....الله يجازيك كل خير عنا
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أيمن الإبراهيم الثلاثاء أغسطس 13, 2013 7:47 pm

مشكور على الرد
أيمن الإبراهيم
أيمن الإبراهيم
........
........

تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أحمد مناع الأربعاء أغسطس 14, 2013 6:33 pm

أخى الكريم السورس موجود فى المرفقاتو ارجوا المفرقات و ارجوا المعذرة على عدم قدرتى رفعه بالامس

المرفقات
تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Attachment
MyChatApp.zip لا تتوفر على صلاحيات كافية لتحميل هذه المرفقات.(70 Ko) عدد مرات التنزيل 28

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أيمن الإبراهيم الأربعاء أغسطس 14, 2013 9:06 pm

مشكور لا يكفي شكرنا  ولو شكرناك بعدد ورق الشجر   
مشكوووووور
أيمن الإبراهيم
أيمن الإبراهيم
........
........

تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أيمن الإبراهيم الأربعاء أغسطس 14, 2013 9:13 pm



استاذ اسف كتير على استفساراتي الكثيرة وبشكرك على الرد ....استاذ احمد ممكن اعرف شو سبب لما بشغل البرنامج على جوالات يعطي لا يوجد شيء بعرضه
أيمن الإبراهيم
أيمن الإبراهيم
........
........

تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف زهراء الأربعاء أغسطس 14, 2013 9:17 pm

جميل جدا ....لكن عندى استفسار .....:

التطبيق بتكون من 2 واجهة ....السرفر و الخادم ....و علشان أجرب السرفر لازم يكون الخادم شغال و العكس صحيح ....و حضرتك عارف اننا لن نستطيع غير تشغيل محاكى واحد للجوال ؟

السؤال الان : كيف أستطيع أن أختبر التطبيق على جهاز الكمبيوتر ؟
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أيمن الإبراهيم الأربعاء أغسطس 14, 2013 9:25 pm

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans X+WJjCzwHTN7QAAAABJRU5ErkJggg==
أيمن الإبراهيم
أيمن الإبراهيم
........
........

تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أيمن الإبراهيم الأربعاء أغسطس 14, 2013 9:25 pm

الصورة تتضمن   
this application does not use the screen and runs in the background
أيمن الإبراهيم
أيمن الإبراهيم
........
........

تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أحمد مناع الخميس أغسطس 15, 2013 10:56 am

أخى الكريم مرحبا بك و لا تتأسف على شىء نحن جميعا سعداء بكل استفساراتك و ما يحزننا هو عدم قدرتنا على الاجابة على اى استفسار لك ....أما بالنسبة لسؤال فنعتذر عن الخطأ الوارد ....و الحل سيكون على النحو التالى :

أولا ....فى الفئة ChatClient أبحث عن الطريقة startApp ستجد بها الاكواد التالية :

الكود:
public void startApp() {
         display = Display.getDisplay(this);
       
       midletPaused = false;
    }
و الان قم بتعديل الطريقة السابقة ....لتبصح كما يلى :

الكود:
public void startApp() {
         display = Display.getDisplay(this);
         getSendIpForm();
         display.setCurrent(sendIpForm);
         getChatForm();
         
       midletPaused = false;
    }
ثانيا : الفئة ChatServer أبحث عن الطريقة startApp ايضا و قم بتعدليها لتبصح كما يلى :

الكود:
public void startApp() {
       display = Display.getDisplay(this);
       getChatServerForm();
       display.setCurrent(chatServerForm);
       getShowIpForm();
       getSrvChattingFrm();
       
   }
و الان يمكنك تشغيل التطبيق ....و نعتذر عن الخطأ مرة أخرى ...ولا تتردد فى اى استفسار أخر

تحياتى لك

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أحمد مناع الخميس أغسطس 15, 2013 11:18 am

زهراء كتب:جميل جدا ....لكن عندى استفسار .....:

التطبيق بتكون من 2 واجهة ....السرفر و الخادم ....و علشان أجرب السرفر لازم يكون الخادم شغال و العكس صحيح ....و حضرتك عارف اننا لن نستطيع غير تشغيل محاكى واحد للجوال ؟

السؤال الان : كيف أستطيع أن أختبر التطبيق على جهاز الكمبيوتر ؟
 الكريمة زهراء بداية أشكرك على مجهودك فى المنتدى ....فشكرا لكى اتيها الكريمة

أما بالنسبة لسؤال ....فمن الذى قال لكى أننا لا نستطيع تشغيل غير محاكى واحد ....الكريمة زهراء نحن نستطيع فعل ذلك بكل بسهولة .....فقط قومى بتشغيل التطبيق ...سيظهر لك محاكى لتشغيل الطبيق ....فى ذلك الوقت و أثناء التطبيق فى قيد التشغيل قومى تختار محاكى Device مختلف عما قد حددته فى بداية إنشاء المشروع عن طريق تحديد الامر Customize من قائمة المهام فى NetBeans كما فى الصورة التالية :



تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Egy-tech13668336233

ثم قومى بالنقر على زر تشغيل التطبيق سيظهر لك المحاكى الاخر بالاضافة الى المحاكى الاول الذى مازال فى قيد التشغيل ....حينها تستطيعى تشغيل السرفر أو الخادم من اي منهما كما فى الشكل التالى :

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Egy-tech13765654471


ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أيمن الإبراهيم الخميس أغسطس 15, 2013 12:35 pm

مشكور
أيمن الإبراهيم
أيمن الإبراهيم
........
........

تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف ذوكا الأحد أغسطس 18, 2013 3:32 pm

جزاك الله خيرا على كل ما تقدمه لنا من علم
ذوكا
ذوكا
.....
.....

تاريخ التسجيل : 26/05/2013
المساهمات : 92
النقاط : 156
التقيم : 12
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty سؤال

مُساهمة من طرف أيمن الإبراهيم الأحد أغسطس 18, 2013 10:47 pm

استاذ احمد انا للاسف لم افهم طريقة مل برنامج شات
اولا نقوم بتشغيل شات سيرفر ويقوم باعطأنا الاي بي ثم نفتح برنامج Chat Client ونقوم بكتابة رقم الاي بي ثما اتصال

لم افهم الطريقة جيدا
اذا اردت تحدث مع شخص ثاني على جهاز اخر ماذا يجب العمل 

بعد تحميل التطبيق لديه ماذانفعل 

وشكرا
أيمن الإبراهيم
أيمن الإبراهيم
........
........

تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف زهراء الإثنين أغسطس 19, 2013 6:38 am

أشكرك أخى أحمد على التوضيح ...وفعلا فكرة لم تخطر على بالى ابدا أن يكون الحل بتلك السهولة
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أحمد مناع الإثنين أغسطس 19, 2013 10:06 am

أيمن الإبراهيم كتب:استاذ احمد انا للاسف لم افهم طريقة مل برنامج شات
اولا نقوم بتشغيل شات سيرفر ويقوم باعطأنا الاي بي ثم نفتح برنامج Chat Client ونقوم بكتابة رقم الاي بي ثما اتصال

لم افهم الطريقة جيدا
اذا اردت تحدث مع شخص ثاني على جهاز اخر ماذا يجب العمل 

بعد تحميل التطبيق لديه ماذانفعل 

وشكرا

اخى الكريم ايمن ....هذا مجرد تطبيق بسيط لتوضيح فكرة عمل الدردشة للجوالات و التى تقوم على الاتصال بين السرفر و العميل عن طريق رقم ip .....اما سؤالك عن كيفية اعطاء رقم الاى بى للطرف الاخر وهو بعيد عنك حتى يتم الاتصال ممكن ذلك عن طريقة ارساله عن طريقة رسالة قصيرة له ....لكن هذا ليس من الاحترافية وكل ما علينا الان هو كيفية تطوير هذا التطبيق استخدام ما يسمى Server API بدلا من رقم اى بى و التى تستخدمها معظم تطبيقات الدردشة العملاقة مثل NIMBUZZ ....وانتظر منى درس فى ذلك غدا او بعد غد على الاكثر

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أيمن الإبراهيم الإثنين أغسطس 19, 2013 11:16 am

مشكور استاذ احمد
انا اقصد هل يجب تشغيل الجهاز الاخر على نفس الاي بي الاول
او يجب ايضا على موبايل الثاني تشغيل اولا تطبيق السرفر شات وكتابة الاي بي خاص بموبايل التاني
وشكرا   على جهودك
انا احاول تطوير برنامج مثل nimbuzz
أيمن الإبراهيم
أيمن الإبراهيم
........
........

تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أحمد مناع الثلاثاء أغسطس 20, 2013 9:52 am

أيمن الإبراهيم كتب:مشكور استاذ احمد
انا اقصد هل يجب تشغيل الجهاز الاخر على نفس الاي بي الاول
او يجب ايضا على موبايل الثاني تشغيل اولا تطبيق السرفر شات وكتابة الاي بي خاص بموبايل التاني
وشكرا   على جهودك
انا احاول تطوير برنامج مثل nimbuzz
أخى الكريم أيمن ....أهلا وسهلا بك و شكراً جزيلا على مجهودك الكبير فى المنتدى ....بالنسبة لفكرة عمل التطبيق فهى على النحو التالى :

_ اولا يتم تشغيل الخادم ChatServer ...ستظهر لك نافذة بها شريط تقديم و تخبرك بأننا فى حاله أنتظار العميل ...أنقر فوق الامر OK ليظهر لك عنوان الاى بى لديك كما فى الصورة التالية :

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 476951430

_ الان قم بتشغيل العميل ChatClient على محاكى أخر  ...لتظهر لك نافذة تطالبك بادخال رقم الاى بى المراد الاتصال به ....قم بادخال رقم الاى بى الذى حصلنا عليه فى الخطوة السابقة كما فى الصورة التالية :

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 220689488

_ من خلال ChatClient ستجد فى الجهة اليمنى قائمة بها الامر "أتصال"....قم بالنقر عليه ليتم الاتصال بين ChatClient و ChatServer وظهور رسالة فى كلا الطرفين تفيد عملية الاتصال كما فى الاشكال التالية :

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 644631456

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 51

_ وهكذا تم الاتصال بين الطرفين و سيظهر لكلا الطرفين شاشة بها مربع نص لارسال الرسال بينهما كما فى الشكل التالى :

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans 61

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف لمار عادل الثلاثاء أغسطس 20, 2013 10:02 am


بسم الله ما شاء الله عليكم يا جماعة ....كان نفسى اكون مشتركة معاكم فى الحوارى بس انا مبتدئة جدا فى الجافا ....اعمل انا اية بقى Very Happy 
لمار عادل
لمار عادل
..
..

تاريخ التسجيل : 29/05/2013
المساهمات : 28
النقاط : 46
التقيم : 2
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أيمن الإبراهيم الثلاثاء أغسطس 20, 2013 2:01 pm

استاذ احمد سؤال
لما عم اكتب رقم الاي بي في chat client واظغط اتصال
تظهر رسالة : يوجد استثناء لم يتم التعامل معه    اغلاق التطبيق
أيمن الإبراهيم
أيمن الإبراهيم
........
........

تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف أحمد مناع الأربعاء أغسطس 21, 2013 10:47 am

أيمن الإبراهيم كتب:استاذ احمد سؤال
لما عم اكتب رقم الاي بي في chat client واظغط اتصال
تظهر رسالة : يوجد استثناء لم يتم التعامل معه    اغلاق التطبيق
الاخ الكريم أيمن ....التطبيق عندى شغال جيدا بدون ظهور الخطأ المشار اليه ...لذلك ربما يكون السبب فى ذلك هو تغيرك لبعض الاكواد الواردة فى السورس كود ....لذلك قم بتحميل السورس كود مرة أخرى مع تعديل الخطأ الذى تم حله فى المشاراكات السابقة وهو

  
this application does not use the screen and runs in the background

ثم قم بتشغيل التطبيق   إن شاء الله سيعمل لديك بنجاح

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف Programmer_78 الجمعة سبتمبر 12, 2014 1:19 pm

Thank you that is very important
Programmer_78
Programmer_78
.
.

تاريخ التسجيل : 12/08/2014
المساهمات : 3
النقاط : 3
التقيم : 0
الدولة : السودان
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف زهراء الجمعة سبتمبر 12, 2014 3:19 pm

Programmer_78 كتب:Thank you that is very important


Very Happy Very Happy Very Happy Very Happy
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف b.bb__h الأربعاء يناير 23, 2019 10:41 am

9
Anonymous
b.bb__h
زائر


الرجوع الى أعلى الصفحة اذهب الى الأسفل

تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans Empty رد: تعلم كيفية إنشاء تطبيق دردشة بيسط للجوالات بأستخدام J2ME مع NetBeans

مُساهمة من طرف إعمار الرياض السبت مارس 12, 2022 11:32 am

مشكور لا يكفي شكرنا

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
شركة تسليك مجاري بالرياض

شركة عزل اسطح بالرياض

شركة عزل فوم بالرياض

شركة رش مبيدات بالرياض

شركة نقل اثاث بالرياض
إعمار الرياض
إعمار الرياض
..
..

تاريخ التسجيل : 04/11/2021
المساهمات : 11
النقاط : 19
التقيم : 0
الدولة : السعودية
الجنس : انثى
الموقع : الرياض

https://emaralryad.com/

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى