delphi4arab منتديات دلفي للعرب
بخصوص برمجة عميل وخادم - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : بخصوص برمجة عميل وخادم (/showthread.php?tid=3363)

الصفحات: 1 2


بخصوص برمجة عميل وخادم - mahboub2011 - 20-08-2011

السلام عليكم ورحمة الله تعالى وبركاته
سوال بخصوص socket عندما اقوم ببرمجة عميل وخادم .
عندما ادخل الايبي الافتراضي 127.0.0.1 فان الاتصال يتم وعندما ادخل الايبي المحلي 192.168.1.50 الاتصال يتم ايضا ولكن عندما ادخل الايبي الحقيقي في الانترنت 41.101.51.11 متلا فان الاتصال لا يتم مع العلم ان التطبيق يكون على جهازي


بخصوص برمجة عميل وخادم - محمد عبد العزيز - 20-08-2011

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

عليك بالاطلاع ومراجعة بعض الشيئ عن الشبكات وكيف تعمل
41.101.51.11 ليس IP جهازك وانما جهاز أخر يمر اتصالك عبره
راجع
http://www.delphi4arab.net/forum/showpost.php?p=7878&postcount=29



بخصوص برمجة عميل وخادم - mahboub2011 - 25-08-2011

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


بخصوص برمجة عميل وخادم - محمد عبد العزيز - 26-08-2011


الأمر متعلق بنوع اشتراك الاتصال بغض النظر عن مزود خدمة الانترنت fawri (ذكرته كمثال) أو غيره
هناك اشتراك يوفر لك ip ثابت بثمن مرتفع عن اتصالك الحالي. راجع الوكالة التجارية لمزود الانرنت لديك
بالنسبة لخدمة no-ip ومثيلاتها راجع موقعها فهو يزودك بكل ما تحتاج من معلومات



بخصوص برمجة عميل وخادم - DAMAX2010 - 26-08-2011

السلام عليكم أنصحك باستعمال برنامج no-ip فهو يسهل ك عملية الاتصال بأيبي الانترنت

تحياتي لك


بخصوص برمجة عميل وخادم - achi - 27-08-2011


السلام عليكم اسطيع مد يد العون فما ذا تريد بالضبط
و سا قوم بعمل البرنامج مع الشرح مع العلم للاتصال يجب ان تجرب على جهازين مثال انت Client و الجهاز الاخر Server سهل جدا
اما اذ اردت ان تكون Server الاخر ِClient اي بمعنى اخر reverse connection يجب ان تكون لك ip ثابت
او تقوم بالحصول على ip ثابت من عدة مواقع اشهرها no-ip.org
اما عن سؤالك انت تجرب ب127.0.0.1 Localhost كل شئ يكو ن تمام وعندما
تقوم بادخال ip الذي تز دوك به الشركة يضهر خطا هذا صحيح
يجب ان تجرب على جهازين مختلفين اذا كنت server والاخر client يجب ان يضع هو
ip الخا صة بك لكي يتم الاتصال والعكس صحيح هذا اذا كان Modem ليس ٌrouter
و اذا كان مودموهrouter يجب reverse connection...لقد تعبت كثيرا لفهم ذلك ولقد ساعدني صديق من استراليا كثيرا ولن ابخل احد في العلم لفعل الخير و التبصر
و شكرا عذرا على التعبير التعبير اللغوي السئ فانا افضل الانجليزية في الشرح وانت تعلم هذا ممنوع في النتدى و انا احترم القوانين



بخصوص برمجة عميل وخادم - mahboub2011 - 30-08-2011

b.m.abdelaziz كتب :بالنسبة لخدمة no-ip ومثيلاتها راجع موقعها فهو يزودك بكل ما تحتاج من معلومات
شكا اخي الكريم
في الحقيقة انا استعمل النو ايبي ولكن استفسار عن كيفية جعل البرنامج يتاقلم معه هل سيعتبره متل الايبي ام يجب ادخال كود خاص له
damax2010 كتب :برنامج no-ip فهو يسهل ك عملية الاتصال بأيبي الانترنت
تحياتي لك
تحياتي لك اخي الكريم انا فعلا استعمل النو ايبي ولكن السوال عن كيفية جعل الدلفي يفهم النو ايبي فانا لما جربت النو ايبي لم يحدت اتصال في جهازي مع العلم ان السرفر والكليون كلهم على جهازي
achi كتب :
او تقوم بالحصول على ip ثابت من عدة مواقع اشهرها no-ip.org
جزاك الله خيرا على هده المعلومات القيمة


بخصوص برمجة عميل وخادم - justnick - 18-09-2011

السلام عليكم ورحمة الله وبركاته
تحية طيبة وبعد
لجعل تطبيقك يتاقلم مع ال no.ip كل ما عليك هو تحويل ال host الى ip Address داخل تطبيقك

كيف يتم هذا؟؟

عن طريق الوحدة winsock
كود :
uses winsock;

يوجد بها Function تقوم بتحويل اسم الhost الى ip Address وهى GetHostByName

كيف الاستخدام ؟؟

نقوم بانشاء Function كالاتى:
كود :
function GetHostByNameDelphi4Arab(hostname: string): string; //هذا المثال من كتاب The Tomes of Delphi Basic 32-bit Communications Programming var WSAData : TWSAData; Hostent : PHostent; ipaddress : String; h_addr : PChar; begin if WSAStartUp($101, WSAData) = 0 then try if inet_addr(PChar(HostName)) = INADDR_NONE then begin Hostent := gethostbyname(PChar(HostName)); if Hostent <> NIL then begin Move(Hostent^.h_addr_list^, h_addr, SizeOf(Hostent^.h_addr_list^)); ipaddress:=Format('%d.%d.%d.%d',[byte(h_addr[0]),byte(h_addr[1]),byte(h_addr[2]),byte(h_addr[3])]); end; end; finally WSACleanUp; end; Result:=ipaddress; end;
لاستدعاء ال function كمثال فقط :-

كود :
ShowMessage(GetHostByNameDelphi4Arab('delphi4arab.net'));

استبدلdelphi4arab.net باسم الهوست الذى تريد 'delphi4arab.no.ip' هذا طبعا على سبيل المثال


بخصوص برمجة عميل وخادم - S.M.Abdelhak - 24-09-2011

justnick كتب :السلام عليكم ورحمة الله وبركاته
تحية طيبة وبعد
لجعل تطبيقك يتاقلم مع ال no.ip كل ما عليك هو تحويل ال host الى ip Address داخل تطبيقك

كيف يتم هذا؟؟

عن طريق الوحدة winsock

السلام عليكم

لست بحاجة للنزول الى مستوى WinSock

بدل
ClientSocket.Address استخدم ClienSocket.Host
عن طريق مكونات clientsocket


بخصوص برمجة عميل وخادم - justnick - 25-09-2011

فى انتظار النتيجة