• 0
com.jkelany

JKelanyChat برنامج دردشة بالجافا

سؤال

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

كيفيكم يا احباب هذا المنتدى

احب ان اشارككم اليوم ببرنامج شات TCP

البرنامج شكله مقتبس من الياهو

لكنه من تصميمى الخاص

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

المشروع عباره عن Client , server and Web server

سوف اقوم بارفاق الملفات الخاصه بهذا المشروع

وسوف اقوم ايضا بارفاق الـ Presentation الخاصه بالمشروع

اتمنى ان اجد نقدكم فى المشروع لمزيد من التقدم باذن الله

لتحميل الملفات

JKelanyChat.rar

Jkelany Chat Project Presentation.rar

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

25 إجابة على هذا السؤال .

  • 0

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

مبدع يامحمود! أسأل الله أن ينفع بك!

بالنسبة لليوزر والباسوورد .. انت وضعت التسجيل في تطبيق الويب ؟ للأسف ما اشتغل معاي ملف الـ war < بنزبطه :wink:

لي عودة بإذن الله ..

الله يعينك علي يامحمود :blush:

+1

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ما شاء الله عليك يا اخ محمود والله دائما مبدع

بس اخي ما هي شروط عمل البرنامج يعني هل يجب عمل حساب وهكذا

ويا ريت تعطينا شرح عن ىليات عمل البرنامج

وشكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مبدع يا محمود كالعادة

بارك الله فيك :) ونفع بك المسلمين

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

مبدع يامحمود! أسأل الله أن ينفع بك!

بالنسبة لليوزر والباسوورد .. انت وضعت التسجيل في تطبيق الويب ؟ للأسف ما اشتغل معاي ملف الـ war < بنزبطه :wink:

لي عودة بإذن الله ..

الله يعينك علي يامحمود :blush:

+1

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

يارب جميعا ان شاء الله

بس مش فاهم تقصد ايه ان اليوزر والباسور مش شغاله

التطبيق يعمل كاملا

ما شاء الله عليك يا اخ محمود والله دائما مبدع

بس اخي ما هي شروط عمل البرنامج يعني هل يجب عمل حساب وهكذا

ويا ريت تعطينا شرح عن ىليات عمل البرنامج

وشكرا

لاستخدام الشات لابد وان تقوم بتسجيل حساب لك

عباره عن يوزر اسمه مثلا [email protected] والباص ورد اللى تحطها

وهكذا

وبعد ذلك يمكنك استخدام الشات والدخول عليه

يمكنك استخدام مثلا الاكونت التالى

username : eng.hamzawy

Password : 0164784781

وبعدها ستجد الاصدقاء الخاصين بك

يمكنك معرفه المزيد من الـ persentation

بالنسبه لاليه عمل البرنامج انا لم استطع شرح اى شىء الان لانشغالى بالامتحانات

بس الموضوع كله معتمد على الـ Socket API , Threads , I/O , GUI , Serialization

قوم بتفحص الكود وستجد ذلك

بالتوفيق

مبدع يا محمود كالعادة

بارك الله فيك :) ونفع بك المسلمين

اللهم امين جميعا يارب

بغض النظر عن ما ساقوله الان فانا تهمنى المنفعه العامة

لكن لم اتوقع ان يكون الموضوع يكون له تقييم بهذه الطريقه وهو الحصول على 0.6

وكأنه رابط لموقع وليس برنامج

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

متميز دائما يا محمود باشا بس توقيت تنزيله مثل هذا البرنامج صعب فلن استطيع قراءته وابداء التساؤات فيه .. ولكن

كلها 3 اسابيع وابتدى اقراه ان شاء الله .. 012.gif

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

متميز دائما يا محمود باشا بس توقيت تنزيله مثل هذا البرنامج صعب فلن استطيع قراءته وابداء التساؤات فيه .. ولكن

كلها 3 اسابيع وابتدى اقراه ان شاء الله .. 012.gif

ربنا يخليك يا ابو حميد

انا عارف ان وقت تنزيله صعب اووى

وكمان بالنسبه ليا انى ادخل ارد

لكن انا بزهق من المذاكره لانى مش واخد على مذاكره المواد بتاعت الكلية دى

فبدخل الاقى ردود فبرد عليها

وان شاء الله ربنا يسهل وبعد الامتحانات ننشط الموضوع مره اخرى

ومنتظر تساؤلاتك ان شاء الله

وباذن الله بعد الامتحانات هأحاول اقول ايه اللى بيحصل ان شاء الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أولاً: نرى الكثير من برامج المحادثة فما الذي تعتتقد أنه يميز برنامجك؟

ثانياً: إذا كنت صنعت البرنامج للتعلم (وهذا هدف يعتبر) فما الذي تعلمته بالضبط؟ وهل هناك متطلبات سابقة لفهم البرنامج؟

سأطلع على الشيفرة في أقرب وقت إن شاء الله

تحياتي

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أولاً: نرى الكثير من برامج المحادثة فما الذي تعتتقد أنه يميز برنامجك؟

اعتقد ان برنامجى متكامل

حيث اننى قومت باستخدام اكثر من شىء فى التعامل

وايضا اكثر من تقنيه للتعلم

وانا معرفش ايه اللى انت شوفته علشان احكم على ايه اللى يميز برنامجى

لكن انت اللى هتحكم هو بيمتاز بايه او انه تقليدى

ثانياً: إذا كنت صنعت البرنامج للتعلم (وهذا هدف يعتبر) فما الذي تعلمته بالضبط؟ وهل هناك متطلبات سابقة لفهم البرنامج؟

انا تعلمت

طبعا GUI للتعامل مع اازاى تعمل Custom List بصورتين واسم وComboBox بمعنى اصح تصميم GUI

تعلمت TCP networks

ازاى اعمل Client , server

كيفيه ارسال Serializable object

كيفية التعامل مع الداتا بيز

واشياء اخرى بسيطه مثل الـ TrayIcons , Hashing password

بالنسبه للـwebsite طبعا JSP , Servlets

سأطلع على الشيفرة في أقرب وقت إن شاء الله

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

علما باننى من قام ببرمجه كل جزئية بداخله

براحه عليا يا عم علاء :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مالك يا عم محمود

أنا بحاول أعصرك علشان أطلع منك مبرمجين صغار :)

قصدي بحاول أني أخلي الشباب المبتدئين يستفيدوا من مدرستك

لأنه ماشاء الله عليك من الناس الي نبغوا وبقوة لدينا في القسم

أتمنى لك التوفيق

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مالك يا عم محمود

أنا بحاول أعصرك علشان أطلع منك مبرمجين صغار :)

قصدي بحاول أني أخلي الشباب المبتدئين يستفيدوا من مدرستك

لأنه ماشاء الله عليك من الناس الي نبغوا وبقوة لدينا في القسم

أتمنى لك التوفيق

تحياتي

ههههههههههههه

ماشى يا عم علاء :)

ربنا يسهل واطلع مبرمجين صغيرين كدا ههههه

ما انا تفهمت قصدك يا استاذنا

واشكرك على ذلك :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

ما رأيك لو عملنا أداة برمجية من هذه الأداة

دعنا نسميها أداة برمجة جماعية

بحيث يمكن للجميع المشاركة في الشيفرة

كما يمكن لهم المحادثة بإدارة رئيس الفريق

ما رأيك؟

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

المهم انا مش فاهم تقصد ايه انه يكون اداه برمجية

لكن انا احب المشاركه والتطوير

لان فالاول والاخر هتتعلم حاجات كتير ليك ولغيرك وللمشاركين وللمتفرجين كمان ههههههه

فانا لا امانع فى اى شىء لكن وضح لى ماذا تقصد باداه برمجيه ؟

يعنى ايه يمكن لهم المحادثه بادارة رئيس الفريق

تقصد انك عاوز تعمل الشغل عباره عن فرق عمل ؟

منتظر ردك وانا لا امانع التطوير والعمل فانا اعرض الكود للاستفاده ولابداء الاخطاء وعرض الاسئلة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عندما نتكلم عن اجتماعات فريق برمجة لنقاش نقطة معينة

فإننا نتكلم عن اجتماعات تحتاج إلى طرح الأفكار الرسم الكتابة الصوت وأمور أخرى كثر

الكثير من الإشكاليات تواجه هذه الاجتماعات لو كانت على أرض الواقع

ما بالك لو كانت على البيئة الافتراضية

نريد البحث عن حلول لهذه الاجتماعات

الثانية وهي الأصعب إيجاد حل لمشاكل التعديل على المستندات في نفس الوقت ما لم يكن التعديل على نفس المكان

SVN يقوم بهكذا شيء لكنه يتطلب عمل اعتماد لهذه الطلبات

على كل هذه صعبة جداً تحتاج إلى تفكير أكثر

أعتقد الفكرة الأولى أكثر قابلية للتنفيذ

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تمام

شىء جميل

زى مثلا فى الياهو هناك بيئة خاصه تقوم بعمل رسم بينك وبين الطرف الاخر

اعتقد انها هتكون سهله التعامل هنا

الصوت هيحتاج VOIP

ما الواجب فعله الان

يعنى ايه اللى ممكن نطوره

هل سنحتاج لتعديلات على قاعده البيانات لانها كان مبسطه جدا؟؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

في الأول نكون فريق ثم نضع أفكار

ما رأيك لو تطرح موضوع تطرح فيه موضوع المشروع الجماعي

وترى إذا كان هناك مهتمين للعمل في هكذا مشروع

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

منذ مدة طويلة جدا .. قد تزيد عن العام لم أطل على قسمي المفضل قسم لغة الجافا , و عندما أعود أجد هذه الأفكار الإبداعية :cry:

على كل ,,

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

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

السلام عليكم

ما رأيك لو عملنا أداة برمجية من هذه الأداة

دعنا نسميها أداة برمجة جماعية

بحيث يمكن للجميع المشاركة في الشيفرة

كما يمكن لهم المحادثة بإدارة رئيس الفريق

ما رأيك؟

تحياتي

إن فكرتم في ذلك , فاعتبرني من المشاركين , لاني أحبب أن أجدد عهدي مع لغة الجافا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

منذ مدة طويلة جدا .. قد تزيد عن العام لم أطل على قسمي المفضل قسم لغة الجافا , و عندما أعود أجد هذه الأفكار الإبداعية :cry:

ربنا يخليك يارب :)

اشكرك على هذه الدفعه القوية :)

على كل ,,

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

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

إن فكرتم في ذلك , فاعتبرني من المشاركين , لاني أحبب أن أجدد عهدي مع لغة الجافا

بالفعل فكرنا فى ذلك

وتم تثبيت الموضوع هنا

http://www.arabteam2...howtopic=243770

اجابتى باللون الاحمر فوق

طريقة الوصول لقاعده البيانات هيكون عن طريق رسائل Serialzable

تصل الى السيرفر يحدد نوعها

وبناء على نوعها او محتواها يقوم بعمل شغله معينه

يعنى مثلا عندى رساله اسمها

LoginMessage

ترسل لسيرفر تحتوى على اليوزر والباص ورد

يقوم السيرفر باستقبالها

فى الكلاس HandleClientRequest

ستجد داله processProtocolInput هى المسئوله عن معرفه نوع الرساله المرسلة



public Message processProtocolInput(Message message) {
if (message instanceof LoginMessage) {
return loginMessage(message);
} else if (message instanceof LogoutMessage) {
return logoutMessage(message);
} else if (message instanceof ChatMessage) {
return chatMessage(message);
} else if (message instanceof UpdateUserDetailsMessage) {
return updateUserMessage(message);
} else if (message instanceof DeleteFriendMessage) {
return deleteMyFriendMessage(message);
} else if (message instanceof AddFriendMessage) {
return addFriendMessage(message);
}
return message;
}

مثلا ان كانت LoginMessage يقوم باستدعاء الداله


private Message loginMessage(Message message) {
LoginMessage loginMessage = (LoginMessage) message;
EmailService emailService = new EmailService();
Email login = emailService.login(loginMessage.getEmail(), loginMessage.getPassword());
if (login == null) {
return new BadLoginMessage();
} else {
FriendsEmailService friendsEmailService = new FriendsEmailService();
FriendsEmails[] selectMyFriends = friendsEmailService.selectMyFriends(login.getEmail());
int id = emailFoundBefore(login);
if (id != -1) {
try {
ServerListen.emailsSockets.get(id).
getOutputStream().
writeObject(new MultiEmailLoginMessage(
ServerListen.emailsSockets.get(id).client.toString()));
OutputFrame.appendText(login.getEmail() + " duplicate login in another place "
+ ServerListen.emailsSockets.get(id).client.toString() + " at " + new Date());
ServerListen.emails.remove(id);
ServerListen.emailsSockets.remove(id);
ServerListen.informAll();
} catch (IOException ex) {
OutputFrame.appendText(ex.toString());
}
}
ServerListen.emails.add(login);
myEmail = login;
OutputFrame.appendText(myEmail.getEmail() + " has login at " + new Date());
return new SuccessfulLoginMessage(login, selectMyFriends);
}
}

هذه الداله تقوم بالدخول على قاعده البيانات التى تعمل على السيرفر

وتقوم بعملية الـ login واذا كانت صحيحه يقوم باختيار الاصدقاء

ويقوم بارسال رساله SuccessfulLoginMessage تحتوى على بيانات اليوزر والاصدقاء

وان كان هناك خطأ فى البيانات يرسل رساله BadLoginMessage

وان كان المستخدم قد دخل من جهاز اخر فى نفس الوقت اللى نفس الاكونت داخل بيه من جهاز اخر

يرسل له رساله MultiEmailLoginMessage

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

هناك بعض الامور ستجدها داخل مثلا داله الـ loginMessage

مثل امر

OutputFrame.appendText(login.getEmail() + " duplicate login in another place "
+ ServerListen.emailsSockets.get(id).client.toString() + " at " + new Date());

هذا فقط لامر الـ Log file الخاص بالسيرفر لاننى اقوم بتسجيل كل حركه تحصل فى السيرفر

اتمنى ان تكون اتضح الامر ولو لشىء بسيط

واتمنى ان تعذرنى لانشغالى بامور الامتحانات فقط

وان شاء الله هنقوم بشرحه بعد الامتحانات

والرد على اى استفسارات او اى اسئلة

شرفنى وجودك وردك :)

تم تعديل بواسطه Mahmoud Kelany
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

سؤال على الهامش أخ محمد ::

فكرة Client Server مفهوم .. لكن ما هي فائدة Web Service التي صممتها ؟؟ هذا هو سؤال الحقيقي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

قصدك الـ Webserver

انا عملته فقط للتسجيل

وعرض البروفيل والاصدقاء

واضافه وحذف الاصدقاء

الى الان هذه هى فائدته

يمكن الاستغناء عن كل هذا

لكن التسجيل فقط على الموقع

كنت اود ان اقوم بعمل Chat applet من على الموقع لكن لم يكن لدى وقت لذلك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاك الله خيرا أخ محمود

انا حقيقة ما جربت البرنامج ولكن رأيت الwebserver وأعجبنى

وكنت طالب منك فى وقت فراغك تشرح طريقة صنع هذا المشروع (webserver)

فانا أذاكر الآن java ee

فأكون شاكر لو انت شرحت

وجزاك الله خيرا على مجهودك مرة ثانية.

تم تعديل بواسطه elwaly
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاك الله خيرا أخ محمود

انا حقيقة ما جربت البرنامج ولكن رأيت الwebserver وأعجبنى

وكنت طالب منك فى وقت فراغك تشرح طريقة صنع هذا المشروع (webserver)

فانا أذاكر الآن java ee

فأكون شاكر لو انت شرحت

وجزاك الله خيرا على مجهودك مرة ثانية.

واياكم يارب

اخى الكريم بالنسبه لى انا Web Developer وليس Web Desgin

فما على اذن لكى اقوم باخراج موقعى بشكل جيد

قومت بالبحث على النت عن HTML Templetes وجدت الكثير اخترت واحده وقومت بالتعديل عليها تماما

ثانيا

انا استخدمت الـ Servlets , JSP فى التصميم

وان كان لدينا الوقت كثير سوف اقوم بشرح الـ Web Server ان شاء الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يا حبيبي .... مشاركات بطير العقل ... طيرتني معها

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

الله يبارك فيكم أجمعين

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
On 7/29/2016 at 10:09 PM, علاء الدين الحاج said:

اريد شرح البرنامج

 

هذا كان شرح للفكره لكن الاكواد لايوجد شرح لها

الشرح

بالتوفيق 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .