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

آلة حاسبة بسيطة بإستخدام TCP sockets

بدأه Dr.Robert في 3 مارس 2010 · 22 رد · 1,715 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كما هو واضح النوم طار من عيني :P وقاعد فاضي اتسلى.

هذا برنامج هو في الاصل كان مثال لالة حاسبة بإستخدام webservice , كتبتة مرة ثانية بطريقة مختلفة بإستخدام sockets (والفاضي يعمل قاضي كما يقولوا).

اذا وجدت في البرنامج اخطاء , فالمعذرة (ماعلى السهران لوم :P ).

على العموم البرنامج مكون من جزئين service & client

اسيبكم الان عشان اناام, ولنا لقاء إن شاء الله

تم تعديل هذه المشاركة بواسطة Dr.Robert في 3 مارس 2010 في 02:53

1

بحثت عن قلمي البارحة فلم أجدة!

...............

لم أجد سوى لوحة المفاتيح هذة

.............

تتطلع إلي بشفقة..

.............

أكاد أسمعها .. تقول (ألم يسمع بGoogle ؟!؟؟)

#2

12 عضو قام بتحميل الملف و لم يكلف أي منهم كتابة كلمة شكرا !!!! .....

أنا لم أقم بتحميل الملف بعد ... لكن سأحمله عندما أصل البيت .

انت قلت أنه كان مصمم على webservice ,, ممكن تعطينا الكود !!! ؟؟

وجزاكم ربي خيرا...

#3

شكراً يافاضل

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

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

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

#4
اقتباس
انت قلت أنه كان مصمم على webservice ,, ممكن تعطينا الكود !!! ؟؟

وهذا هو البرنامج الأصلي

SimpleCalc-WS.rar

تم تعديل هذه المشاركة بواسطة Dr.Robert في 3 مارس 2010 في 17:09

بحثت عن قلمي البارحة فلم أجدة!

...............

لم أجد سوى لوحة المفاتيح هذة

.............

تتطلع إلي بشفقة..

.............

أكاد أسمعها .. تقول (ألم يسمع بGoogle ؟!؟؟)

#5

أخ مازن

في البداية حاولت أن أشغل البرنامج لكن زر CALCULATE لا يعمل

لكني أظن أنك قصدت في مثالك هذا أن تقول الحزمة بإمكانها التعامل مع client/service architecture

لكني لاحظت أن الحزمة أصدرت رسالة خطأ لكون port =-1

وهذه هي الرسالة

Port value out of range: -1-->ConnectionListener

المنطق أن هذا ليس خطأ فلماذا تعطي الحزمة رسالة خطأ

سؤال في غير محله :) : ما فائدة المكتبة DESKTOP؟

أقصد لماذا تستخدمها؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#6
اقتباس
في البداية حاولت أن أشغل البرنامج لكن زر CALCULATE لا يعمل

لم تقم يتشغيل ال service .

قم بتنفيذ البرنامج CalculatorService ثم قم بتشغيل الخدمة file-->start .

اقتباس
وهذه هي الرسالة

Port value out of range: -1-->ConnectionListener

المنطق أن هذا ليس خطأ فلماذا تعطي الحزمة رسالة خطأ

هذا خطأ ناتج عن محاولة استخدام قيمة غير سليمة (-1 ) كرقم منفذ بواسطة connectionListener

اقتباس
سؤال في غير محله :) : ما فائدة المكتبة DESKTOP؟

أقصد لماذا تستخدمها؟

لم تعد مستخدمة .وسأقوم بإزالتها.

بحثت عن قلمي البارحة فلم أجدة!

...............

لم أجد سوى لوحة المفاتيح هذة

.............

تتطلع إلي بشفقة..

.............

أكاد أسمعها .. تقول (ألم يسمع بGoogle ؟!؟؟)

#7

أول شيء قمت به هو تشغيل الخدمة بالنفس الطريقة التي قلت عنها

ولم يحصل شيء نفس المشكلة الأولى

سؤال هل يصح أن أشغل الخدمة والزبون على نفس الجهاز؟

بالنسبة للخطأ -1 فأنا استنتجت هذا الموضوع من هذه القطعة في شيفرة العميل

PortsSettings.COONECTON_LISTENING_PORT = -1;//don't listen for connections.

لهذا استغربت أن تقوم الحزمة بإصدار خطأ مع أني فهمت أن هذا نوع من الإعدادات

بالنسبة للمكتبة desktop فلا زلت تستخدم منها

import org.jdesktop.application.Action;
import org.jdesktop.application.Application;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.Task;
import org.jdesktop.application.TaskMonitor;

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#8
اقتباس
أول شيء قمت به هو تشغيل الخدمة بالنفس الطريقة التي قلت عنها

ولم يحصل شيء نفس المشكلة الأولى

غريب, لم يحصل هذا معي .

وعلى العموم قد اكون رفعت نسخة من الحزمة تحتوي على bugs بدون قصد.

وهذة هي النسخة الحالية , وبإنتظار ردك (نعم تستطيع تشغيلهم على نفس الجهاز وحتى تشغيل اكثر من عميل)

رجاء قم بعمل clean&build لكل يرنامج. بعد تضمين هذة النسخة من الحزمة

اقتباس

بالنسبة للخطأ -1 فأنا استنتجت هذا الموضوع من هذه القطعة في شيفرة العميل

PortsSettings.COONECTON_LISTENING_PORT = -1;//don't listen for connections.

لهذا استغربت أن تقوم الحزمة بإصدار خطأ مع أني فهمت أن هذا نوع من الإعدادات

الرسالة وغيرها من الرسائل هي رسائل تحذيرية فقط قد يتم اصدارها اثناء تشغيل الخدمة الممثلة بالفئة NetworkService, مسألة انها خطأ ام لا راجع للمستخدم نفسة الذي قد يعتبرها غير مقبولة , ومن ثم يقوم بالتصرف حيالها . او يتجاهلها حيث انها ناتجة عن اعداداتة او انها غير مؤثرة على الأداء النهائي الذي يتوقعة.

المهم ان اطلاق الرسالة على شكل log يعطي المستخدم صورة عن ما يحصل .وكذلك تساعد في مسألة debuging .

اقتباس
بالنسبة للمكتبة desktop فلا زلت تستخدم منها

كنت اعتقد انك تقصد في الحزمة وليس البرنامج. :P

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

وهي حزمة مبنية على Swing ولكن افضل استخدامها على Swing مباشرة لأنها توفر فعالبة في التعامل مع العديد من الامور المتعلقة بواجهة المستخدم

مثل events وlocale &resources وكذلك العمليات الخلفية background processes بسهولة اكبر من Swing

عيبها انها غير مفتوحة المصدر.

تم تعديل هذه المشاركة بواسطة Dr.Robert في 5 مارس 2010 في 22:38

بحثت عن قلمي البارحة فلم أجدة!

...............

لم أجد سوى لوحة المفاتيح هذة

.............

تتطلع إلي بشفقة..

.............

أكاد أسمعها .. تقول (ألم يسمع بGoogle ؟!؟؟)

#9

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

سأعيد المحاولة وأخبرك بالنتيجة

لو أمكن أن تشرح طريقة استخدامها في موضوع جديد وأكون شاكر :)

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#10

مازال البرنامج لا يعمل حتى بعد أن قمت بوضع الحزمة الجديدة

و لا أعرف ما السبب

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

تعمل مئة بالمئة مادمت تشغلها في البيت

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

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

وكأنه طفل شقي كلما طلبته أن يغني لعمو صديق العمل ينظر لك في غباء وهو يضع يده في منخره ويكور شيئاً ما

وبمجرد أن يذهب عمو من بيتك تجد الأخ يغني كأنه واحد من مغنيين الموالد

احم احم

لا عليكم أجرب أن أقلد د.رفعت إسماعيل شخصيتي المحبوبة :lol:

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#11
علاء الصالحي كتب:

مازال البرنامج لا يعمل حتى بعد أن قمت بوضع الحزمة الجديدة

و لا أعرف ما السبب

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

تعمل مئة بالمئة مادمت تشغلها في البيت

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

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

وكأنه طفل شقي كلما طلبته أن يغني لعمو صديق العمل ينظر لك في غباء وهو يضع يده في منخره ويكور شيئاً ما

وبمجرد أن يذهب عمو من بيتك تجد الأخ يغني كأنه واحد من مغنيين الموالد

احم احم

لا عليكم أجرب أن أقلد د.رفعت إسماعيل شخصيتي المحبوبة :lol:

تحياتي

:lol: :lol: فعلا , والذي مجنني ان البرنامج شغال عندي. :wacko:

على العموم كتبت البرنامج مرة اخرى واستخدمت النسخة المحدثة من الحزمة (موجودة في sourceforge ) وإن شاء الله تضبط هذة المرة.

(اذا كنت تشغل البرنامج في جهاز متصل بالانترنت بواسطة مودم عادي يعني dial-up ارجو فصل الاتصال اولا ومن ثم تجريب البرنامج).

بالنسبة لموضوع jDesktop . ماشي كلامك يا عم :)

ولكن الموضوع سيتضمن التحدث عن actions وbackground processes .

فهل تعتقد انة يجب ان اكتب موضوعا عن multi-threading و synchronization اولا؟؟

حتى يكون هناك مرجع سريع للإخوة حديثي الخبرة في مسألة المعالجة المتوازية في java .قبل الدخول في actions وbackground processes . بإنتظار ردك.

SimpleCalc.rar

تم تعديل هذه المشاركة بواسطة Dr.Robert في 7 مارس 2010 في 20:17

بحثت عن قلمي البارحة فلم أجدة!

...............

لم أجد سوى لوحة المفاتيح هذة

.............

تتطلع إلي بشفقة..

.............

أكاد أسمعها .. تقول (ألم يسمع بGoogle ؟!؟؟)

#12

لا أعلم ما المشكلة بالضبط

يبدو أن حزمتك تستقصدني :(

مع أني أغلقت كل الاتصالات عندي حتى اتصال الشبكة اللاسلكية wireless

بالنسبة لموضوع حزمة jdesktop لا حاجة لأن تشرح أي شيء آخر

نحن متفقون على أن هناك دروس متقدمة لها متطلبات requirement وعلى من يريد أن يستفيد من الدرس أن يقرأ هذه المتطلبات

على كل كتبنا كثيراً في مواضيع الخيوط threads والتزامن بينها synchronization

لذا توكل على الله

في حال احتجنا لشرح بعض المواضيع فأنا أكفيه هذه النقطة بإذن الله

حتى تركز في الموضوع الرئيسي

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#13
اقتباس
لا أعلم ما المشكلة بالضبط

يبدو أن حزمتك تستقصدني :(

مع أني أغلقت كل الاتصالات عندي حتى اتصال الشبكة اللاسلكية wireless

اللي مجنني اكثر :wacko: ,انة برنامج الشات شغال عندك. وهو مبني بإستخدام النسخة الاولى من الحزمة و الموجودة في sourcefrog .

فلماذا لا يعمل البرنامج هذا ؟ وحتى بإستخدام النسخة المحدثة؟ تأكدت الان ان الحزمة مستقصداك ياعم ولكن ليس لي يد في الموضوع والله :lol:

اعتقد اننا بحاجة لمهارات د.رفعت ليحقق في الموضوع ويجد السبب في غياهب "ما وراء الطبيعة" :lol:

بالنسبة لموضوعنا الاخر ,ممتاز جدا جدا . وجاري الاعداد للموضوع.

بحثت عن قلمي البارحة فلم أجدة!

...............

لم أجد سوى لوحة المفاتيح هذة

.............

تتطلع إلي بشفقة..

.............

أكاد أسمعها .. تقول (ألم يسمع بGoogle ؟!؟؟)

#14

احم احم

بالنسبة لبرنامج الشات فلم أستطيع تجريبه لأنه يحتاج إلى جهازين

طيب أخ مازن أين يتم تفعيل الزر calculate في هذا البرنامج دعني أتتبع الموضوع وأرى إلى أين سنصل

(هيشتغيل يعني هيشتغل هوه رفعت إسماعيل أحسن مني في ايه)

في انتظار مقالتك

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#15

يتم تفعيلة من خلال تغيير قيمة الخاصبة ready الى true قي الفئة CalculatorServiceClientView

انظر الدالة updateState() في نفس الفئة. 

لم لا تجربة في جهاز اخر؟

بحثت عن قلمي البارحة فلم أجدة!

...............

لم أجد سوى لوحة المفاتيح هذة

.............

تتطلع إلي بشفقة..

.............

أكاد أسمعها .. تقول (ألم يسمع بGoogle ؟!؟؟)

#16

احم احم

ماذا ستقول عني لو قلت لك أن FIREWALL الخاص بجهازي كان مغلق المنفذ الخاص بالحزمة

بالمناسبة لماذا لم تقم الحزمة بتصدير خطأ يقول بأن هناك مشكلة؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#17

كنت على وشك سحب الحزمة من الاسواق ياعلاء :lol: ولكن

سأقول انك كشفت عن عيب خطير . هذا الخطأ كان يجب ابلاغة للمستخدم.(كنت اعتقد انة يحصل تبليغ :ph34r: لكن يبدو اعتقادي في غير محلة :wacko: )

سأتفحص المسألة وارى امكانية معالجتها .

مشكوووور على المساعدة. :) وانا الان ارتحت ولا حاجة لطلب مساعدة د.رفعت :lol:

تم تعديل هذه المشاركة بواسطة Dr.Robert في 9 مارس 2010 في 00:42

بحثت عن قلمي البارحة فلم أجدة!

...............

لم أجد سوى لوحة المفاتيح هذة

.............

تتطلع إلي بشفقة..

.............

أكاد أسمعها .. تقول (ألم يسمع بGoogle ؟!؟؟)

#18

الحمد لله أن المشكلة انحلت

ونامت الأسود مع الغزلان والذئب يلعب مع الحملان

وكفينا الأخ رفعت إسماعيل تعرف الأخ رفعت إسماعيل بتشاؤمه وسرعة ملله

كان سيجعلك تعتزل البرمجة أصلاً :)

بالمناسبة لماذا لا تختار اسم عربي للحزمة :(

سؤال آخر لماذا اخترت اسم Dr.Robert

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#19

اسم عربي للحزمة ! لم افكر في هذا.

اسم dr.robert شخصية تلفزيونية تعجبني :blush:

بحثت عن قلمي البارحة فلم أجدة!

...............

لم أجد سوى لوحة المفاتيح هذة

.............

تتطلع إلي بشفقة..

.............

أكاد أسمعها .. تقول (ألم يسمع بGoogle ؟!؟؟)

#20

بحثت عنه لكني لم أستطع أن أجده

ما رأيك لو تعطينا نبذة عنه

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#21
اقتباس
اسم عربي للحزمة ! لم افكر في هذا.

و لم لا ؟

#22

بطل مسلسل لاتيني حيكون اية يعني ؟ اينيشتا ين؟

غني وشعرة مسبسب وعندة سيارة فيراري حمرا والنسوان تتحدف وراه ويغنولة "كل البنات بتحبك كل البنات حلوين" وبلاش فضايح ياعلاء ياصالحي وللا كمان حابب تعرف وقت عرض المسلسل واسم القناة :lol:

اخي هويدي:

اذا قمنا بتسمية المشروع بإسم عربي هل هذا يعني ضمنيا انه مقتصر للمبرمجين العرب؟

واذا كان كذلك هل يعني انه من المنطقي ايضا وجوب تغيير اسماء الفئات والواجهات لأسماء عربية؟

وماذا عن شرح الحزمة في javadoc ؟ لم ارى حتى الان واحدا بالعربي.

هل لديك اقتراحات ؟

تم تعديل هذه المشاركة بواسطة Dr.Robert في 16 مارس 2010 في 07:47

بحثت عن قلمي البارحة فلم أجدة!

...............

لم أجد سوى لوحة المفاتيح هذة

.............

تتطلع إلي بشفقة..

.............

أكاد أسمعها .. تقول (ألم يسمع بGoogle ؟!؟؟)

#23

يا ريت والله أخ مازن :)

بحب المسلسلات الأجنبية الي بيغنوا فيها للبطل كل البنات تبحتبك كل البنات حلوين :lol:

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

ننتظر رأي هويدي

بالنسبة لموضوع التوثيق بالعربي سأكون أول واحد بإذن الله

بالطبع عندما أجد الوقت الكفي :(

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

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