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

F1....F1....Help Me

مغلق
بدأه FOX_DELPHI في 11 مارس 2003 · 11 رد · 1,026 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

وقعت في مشكلة ...ان رقم الIP... للكمبيوترات الموصلة على شبكة

محلية مؤلفة من 10 اجهزة ...تتغير تلقائياً ...مختلفة كل مرة عند الدخول

جديد على الأنترنت ....مما يعني فقدان برنامج المعتمد على الIP ..

والHOST ..للأتصال بالأجهزة ..مما يؤدي الى صدمة جديدة في عالم

الكلايونت والسيرفر......فهل من معين ........

أرجــــــو المساعدة الفورية ؟؟.؟؟؟؟

F1

Fox_ delphi:cool:

#2

السلام عليكم

أخي العزيز إن خبرتي في الشبكات قليلة و لكنني أعلم أن رقم ال IP الخاص بالإنترنت سوف يتولد تلقائيا عند الدخول على الإنترنت و الله أعلم

أما الرقم الذي تضعه أنت للحواسيب المرتبطة لن يتغير لأنك تضع ال LAN SETTING IP واحد في كل الحواسب و هو نفس الPORT للحاسب الأول و هذا لن يؤذي أي من الIP للحواسب عند الدخول إلى الشبكة العالمية عن طريق الحاسب الأول

و الله أعلم

#3

اهلا :D

صرنا في الهوي سوا، انا ايضا فكرت في الامر بالنسبة لمشروعي القادم وفكرت ايضا في عدة طرق

منها استخدام MailSlot وحجز اسم عن طريقها بالنسبة للسيرفر

والكلاينت اعتمادا علي Mailslot يستطيع التواصل مع السيرفر واخذ الايبي الخ

وايضا فكرته في ارسال UDP Broadcast packet تتضمن رسالة " ايها السيرفر أين انت؟ اعلم عن نفسك:D" ...

وفكرت في طريقة ايضا حجز اسم Netbios للسيرفر ثم الكلاينت يتصل بها وليس بمجرد الايبي التي هي عرضة للتغيير ..

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

#4

نسيت أن أقول هذه الطريقة لبيئة شبكة محلية LAN...

أما خلال إنترنت أظن يجب أن نفكر في طريقة أكثر ملائمة .... وشكرا

#5

:cool:

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

شكرا لكـــــــــم ..من قلبي.....

أن أستعمل شبكة محلية (( 10 أجهزة مرتبطة ببعضها البعض))

ولكـــــــــن انا جربت هل مرة ..تمت مهمة الاتصال بنجاح باهر بين

الشبكة ..ولكن من دون علمي دخل أحد المستخدمين ..على النت

وإذ فقدت ...الاتصال ..واعطاني البرنامج انك فقدت الأتصال.....

هنـــــا المشكلة ....

أخــــــوكم..

#6

أخي الحبيب

كنت أريد تنبيهك للموضوع منذ البداية لكن :o

على كل الاحوال كما معروف في حالتك رقم الاip

دائما يتغير

لذا هناك طريقة وهي ربط الكمبيوترات عن طريق اسم الجهاز

ولها مكون خاص أعتقد أن أحدهم لديه إياه

إذا وجدته سأضعه لك

مع خالص حبي وتقديري

أخوك رضا

#7

شكــــــرا لك...ومــــــــــــن فضلك ...(f)

#8

السلام عليكم...الأخوة الأعزاء

وخاصة الاخ a~WAR

أرفقت مثال ..عن جلب ip .....ولم يتغير معي ...عند دخولي الى النت

أرجــــــو فحصه ,,,وتحليله بخبرتك ....وأنا بأنتظار ردك أخـــــوك ....

delphi_ip2003.zip

#9

السلام عليكم

FOX_DELPHI :

حاليا جهازي نامت نومة أبدية فلم اجرب الكود ولكن باطلاع سريع فهمت أن الكود للحصول علي عنوان الايبي المحلي سواء أكان الجهاز متصلا بالإنترنت أم لا... وتستخدمه في السيرفر ...

وعلي كل حال اسمح لي أن اعيد طرح المشكلة بشكل آخر :

1 - أنك تريد تشغيل كلا من Server وClient في الشبكة المحلية ... والمشكلة هنا كيفية إيجاد عنوان السيرفر؟

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

2 - حالة أخري، الكلاينت يتصل بالسيرفر من خلال إنترنت، وليس شبكة داخلية، والايبي للجهاز الذي يعمل عليه السيرفر يتغير و الحل :

هناك مواقع تقدم ما تسمي بDynmic IP او Dynamic DNS بعضها مجاني وبعضها غير مجاني.. وبعد التسجيل لديهم ، تنزل من عندهم برنامج صغيرا، وهذا البرنامج عند الاتصال بالانترنت يقوم باخذ الايبي الجديد ثم يرسله للموقع لإضافته إلي قاعدة البيانات الخاصة لعنوان Dyamic Domain الخاص بك ..

والكلاينت من الانترنت ما عليه إلا الاتصال باستخدام هذا الدومين ...

جرب هذا الموقع www.no-ip.com

أرجو فهمي هذا صحيحا .. :rolleyes:

#10

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

بالضبط أخــــي A`wAR...

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

مشكور جداً .....;)

اخــــــوك.....:cool:

#11

من جديد ..يحثت على النت ..ووقع بين يدي هذا الكود

الغريب أنه مستخدم به ..الكلايونت .. والسيرفر ..من دون وضع Addres

أرجــــــــــــــــو الإطلاع .....

أخـــــــوك

new_application.zip

#12

بخصوص اول مرفق والي هو

delphi_ip2003.zip

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

هناك عدة طرق لكتابة ال اي بي

الطريقة الاولى مثلا

209.123.86.203 وهي الطريقة المتعارف عليها .. وعبارة عن اربع خانات من الصفر الى 255 بعين الاعتبار ان الصفر في الكلس a

خطا و بعين الاعتبار ان ال 255 يعتبر برود كاست

broudCast

ماشي والطريقة الثانية

Http://3514521291

وهذي معادلتها بسيطة وهي

209.123.86.203 ( ال اي بي بتاعر موقع www.kacmac.com محرك بحث سوري)

209 x (256)³ + 123 x (256)² + 86 x (256)1 + 203 = 1110325108

الطريقة الثالثة هي

http://11010001.01111011.01010110.11001011/

هاي حسابها اعقد شوي بس بعتقد الي دارسين كمبيوتر منكم بيعرف بالباينري بيقدر يحسبها ببساطة

(ملاحظة جميع الرقام انا حاسبهم وهم ارقام صحيحة )

طيب .. المشكلة وين تكمن انو المرفق الاول بيعطي 9 ارقام .. وهاذا لا يجوز منطقيا اطلاقا .. !!!!!!!!!!

ولا ممكن ايكون بيجيب الماك ادرس لانو طريقة كتابة الماك كمان تختلف عن هيك XX-XX-XX-XX-XX-XX-

بالنسبة للكمبوننت الثاني ترا بلغة مش انكليزي وكمان ما فهمت منه شي

بس

بخصوص موضوعكم الشيق هذا .................

طيب هلق على حسب نوع الشبكة الي حيعمل عليها البرنامج

يعني حبسط الكلام

في شبكات بيتم ادارتها بال

DHCP

وبيكون الربط فيها دومين كونترولر مش بير تو بير او ما بتستخدم الوتوماتيك اي بي

DHCP

هذا جزء من سيرفر الشبكة وفي بعض الاحيان بيكون سيرفر مستقل .. (مثل النت وال ISP (

ومهمته اعطاء الي بيهات على الاجهزة الي بتتصل عليه .. تمام .. يعني بيروح الجهاز بدون اي بي بيدق على باب الDHCP بيقوم بيعطي اي بي

هلق حدا حيقلي انو ما دام ماله اي بي ممكن تعمل اتصال

نعم ممكن عشان الي بي هوي اقرب ما يكون للشيل بلينكس .. يعني

بس مظهر مش اكتر لكن الاساس هوي الMAC Address

والمسؤول عنو او بالاصح الي بيحول الي بي الى ماك هوي

ال ARP

وعشان تشوف ال MAC ادريس بتاعك بتروح موجه الدوس

run>>>cmd>>>>arp -a

او خود امر اي ار بي و حط هيلب عشان تشوف كل خيارته ..

هلق منطقيا يمكن الاتصال بعنوان ال Mac

منغير اي بي .. (على حد علمي و الله أعلم)

انا لم اجربها اطلاقا .. ولا اعلم بوجود كمبوننت بهذا الخصوص لكن الله يخلي جوجل ممكن تبحثو فيه

بس لو نفع انو وجدتو كمبوننت بيعتمد على الماك ادريس .. بيكون انجاز فظيع

عشان الماك هوي رقم يونيك او فريد وهوي بيتمثل برقم الكرت الشبكة ..

ماشي ممكن اذا كان في غموض با نقطة اتخبروني وانا بشرحها .. تمام التمام ..

عشان بقا انا ما بدي طول عليكم

ماشي بس عن الطريقة العمل كلاين سيرفر على شبكة داخلية

منرجع لنقططة ال DHCP

ممكن انك تلعب بخواصه وتسبت اي بيهات للشبكة لكل جهاز ..

بس بيضل برنامجك معرض انو يشتغل على شبكة وعلى اخرى ما يشتغل

اما الحل الامثل برايي هو / ركزو

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

هاي ابكج او نوع البرود كست بيروح بيسمع بكل اجهزة الشبكة ..حلو لكن احنا منجعل السيرفر فقط هوي الي يرد عليه ..

يعني انتا بتبعت رسالة لكل الاجهزة تحمل توقيع (عنوان) وبيرد على هذه الرسالة الجهاز المعني فقط الي بيعرف معنة التوقيع (العنوان)

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

الكلاينت >>> SYN

السيرفر لل الكلاينت >>> SYN + ACK

الكلاينت للسيرفر ACK

ال SYN

اختصار SYNDICAT (ما بعرف كتابتها صح )

ACK = acknowledgment

ووقتها بيتم ما يسما بالمصافحة

وهيك بالنسبة لباقي الكلاينت بيحصل

هلق اخيرا انا اعلم انو اللام هذا نظرييييييييييييي وانا لم تزل خبرتي بالدلفي بسيطة ,,,

وبعد ما اشتد عودي

لكن المخطط الي بالاعلى من خبرتي بالشبكات كتبته ..

ممكن في اجزاء ما كتير مفهومة ياريت لو بتهمك تخبرني وانا بشرحها

وبالعموم اذا حاسس انو الموضوع صعب وانتا لم يشتد عودك (مثلي) لتطبيقه خليه بزهنك عشان حتتزكرني والله :D لما يشتد عودك .. عشان هذا الاسلوب تتبعه اكيييييييد

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

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

تحياتييييييييييي الحارة

مع خالص حبي

هذا الموضوع مغلق.

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