الويب العربي

الويب العربي (http://www.arabwebtalk.com/index.php)
-   تبادل خبرات البرمجة (http://www.arabwebtalk.com/forumdisplay.php?f=57)
-   -   شباب مساعدة بسييطه الله يوفقكم لتعديل كود جافا صغير من أجل الدراسه (ما ياخد 10دقايق) (http://www.arabwebtalk.com/showthread.php?t=108845)

hdgames 26-04-2009 07:08 PM

شباب مساعدة بسييطه الله يوفقكم لتعديل كود جافا صغير من أجل الدراسه (ما ياخد 10دقايق)
 
السلام عليكم شباب

بالتالي كود جافا قصير جداً و بسيط ووظيفته كالتالي:- ((عفوا على الأخطاء الإملائيه, تم وضعها عن عمد))
"semple groop comunication program using the Javu class Multi Socket"

كود:

import java.net.*;
import java.io.*;
public class MulticastPeer{
        public static void main(String args[]){
                // args[0] = ID (or name) of the member to multicast to the group       
                // args[1] = IP address of the group (e.g. "228.5.6.7")
                MulticastSocket s =null;
                try {
                        System.out.println("Memeber " + args[0] + "trying to join the group");
                        InetAddress group = InetAddress.getByName(args[1]);
                        s= new MulticastSocket(6789);
                        s.joinGroup(group);

                        System.out.println("Memeber " + args[0] + "is now member of the group");
                       
                        byte [] m = args[0].getBytes();
                        DatagramPacket msgOut = new DatagramPacket(m,m.length, group, 6789);
                        s.send(msgOut);

                        System.out.println("Memeber's ID was transmitted to the group");
                       
                        System.out.println("Waiting to receive messages from other members");
                        byte[] buffer = new byte[1000];        // get messages from others in group
                        for(int i=0; i< 3;i++) {
                                DatagramPacket msgIn = new DatagramPacket(buffer,buffer.length);
                                s.receive(msgIn);
                                System.out.println("Received : " + new String(msgIn.getData(), 0, msgIn.getLength()));
                    }
                        s.leaveGroup(group);       

                        System.out.println("Member " + args[0] + "left the group");
                } catch (SocketException e){System.out.println("Socket: " + e.getMessage());
                } catch (IOException e){System.out.println("IO: " + e.getMessage());
                } finally {if(s != null) s.close();}
        }
}

و المطلوب التعديل على الكود ليقوم بالتالي:-

المطلوب إرسال الـmembers للمعرف الخاص بهم "ID" + إرسال 3 رسائل "messages" و إستلام عدد لا محدود من الرسائل,,,




طبعاً الطلب و الكود سهل جداً و تافه للمتمرسين بالجافا و لا يأخذ مع الشخص أكثر من 10 دقائق و ربما أقل!! لكن للأسف نحن ما تعلمنا هذي اللغه بتاتاً "فقط C++" و يصعب علينا حل هذا التمرين

يرجى المساعده و شاكرين لكم التعاون الطيب و الكريم,,,

hdgames 27-04-2009 01:25 AM

للرفع
يا شباب اللي عنده الحل لا يبخل علينا بليز
شكراً

hdgames 28-04-2009 10:57 PM

\?????????

eng.eslam 28-04-2009 11:20 PM

السلام عليكم و رحمة الله و بركاته

استاذي الفاضل

اعتزر لك لعدم تخصصي في لغة الجافا

ولكن

بعد مراجعة الكود و بالرغم اني غير متخصص


لاحظت بعض الامور

الامر الاولي : انت تريد ان يحضر لك المعرف او اسم المستخدم

ممكن توضح لي وظيفة هذا الامر :
System.out.println("Memeber " + args[0] + "is now member of the group");
الامر الثاني : تريد ان يرسل 3 رسائل فقط

فممكن توضح لي وظيفة هذا الامر

for(int i=0; i< 3;i++) {DatagramPacket msgIn = new DatagramPacket(buffer,buffer.length);

الامر الثالث : ان يستقبل عدد لا نهائي من الرسائل

و ايضا يارت توضح لي وظيفة هذا الامر

catch (SocketException e){System.out.println("Socket: " + e.getMessage());
} catch (IOException e){System.out.println("IO: " + e.getMessage());

شكرا للتوضيح

دكتور مهندس / اسلام صبيح

undefinedmatrix 29-04-2009 04:10 PM

System.out.println("Memeber " + args[0] + "is now member of the group");
هذا الامر لطباعة سطر معين
System.out.println
واما
args[0] فهو حسب تعريف البرنامج لطباعة ال id الخاص بالمستخدم member id
----------------------------------------------------------------------------------------

catch (SocketException e){System.out.println("Socket: " + e.getMessage());
} catch (IOException e){System.out.println("IO: " + e.getMessage());

هذا السطر في الجافا سكربت يسمي error handler لتجنب ظهور رسائل الخطأ او حصول crash للبرنامج

undefinedmatrix 29-04-2009 04:12 PM

اما الكود الاوسط فهو لإرسال رسالة للاعضاء في الشات او الكونكشن الحاصل هذا
البرنامج باختصار client to server او peer to peer

hdgames 29-04-2009 05:59 PM

مشكورين يالمشرفين
بس حد عنده فكره لحل هذه المشكله
أو هذا السؤال بالأحرى
شكراً لكم

hdgames 02-05-2009 01:25 AM

عيب عليكم يا شباب
انا لو كنت عارض مبلغ مالي مكافأه كان ما شاء الله الموضوع صار صفحات مش صفحه وحده بس و انا اكثر واحد اشارك بموضوعي!
عموماً مشكورين

undefinedmatrix 02-05-2009 05:11 PM

اخي الكريم لعلك تعلم ان لغة الجافا لا يتقنها او يتعلمها الا المتخصصون ولولا ذلك لكنت حصلت علي الاجابة في اسرع وقت خصوصا ان طلبك واضح انه للدراسة وليس لاي هدف تجاري


مع العلم اني درست الجافا في الكلية لكن صراحتا لا اتذكرها جيدا ولذلك لم افيدك فما بالك بمن لم يدرسها

hdgames 03-05-2009 11:08 PM

إقتباس:

اقتباس من مشاركة undefinedmatrix (المشاركة 610794)
اخي الكريم لعلك تعلم ان لغة الجافا لا يتقنها او يتعلمها الا المتخصصون ولولا ذلك لكنت حصلت علي الاجابة في اسرع وقت خصوصا ان طلبك واضح انه للدراسة وليس لاي هدف تجاري


مع العلم اني درست الجافا في الكلية لكن صراحتا لا اتذكرها جيدا ولذلك لم افيدك فما بالك بمن لم يدرسها

اخي و الله ما اتكلم عنك
بتكلم عن باقي الشباب
اشكر مرورك

essa_net 06-05-2009 11:53 PM

مشكوووووووووووووور


جميع الأوقات بتوقيت مكة المكرمة. الساعة الآن » 11:17 PM.

Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © ArabWebTalk.Com 2004-2012