السلام عليكم ,,
أختي بنت اليمن ,, سأرد على بعض الاسئلة وأترك الباقي ل chik ,,
اقتباسسؤالي : نحن هنا فتحنا اتصال مع البوابة 12345 فهل معنا ذلك ان بقيت البوابات مغلقة (مثلاً البوابة 80 الخاصة بتصفح الويب HTTP عبر السيرفر لا تكون متاحة للـ Client ..؟)
يمكن في لحظة واحدة أن أفتح ال 65000 بوابة كلها ,, ولايؤثر مطلقا فتح بوابة على اغلاق أخرى ,, لاتغلق البوابة الا اذا أغلقناها نحن بأمر برمجي ,,
اقتباس2 - هل من الممكن ان يعرف الـ Server رقم الـ IP Address للـ Client المتصل معه عبر الـ Socket (مثلاً قناة الاتصال soc بين الـ Server و Client ما .. هل يقدر الـ Server ان يعرف الـ IP ذلك الـ Client)؟
نعم وال soc2 في مثال أخي chik تحتوي على المعلومات الخاصة بال client ,,من ال IP وحتى ال PORT ,, ويتم استلام soc3 من الامر accept ,, وأعتقد أن ال Server سيتفاهم مع ال Client با PORT الذي أرسل به ال Client ,, والله أعلم ,,
اقتباسsoc=socket(AF_INET,SOCK_STREAM,0)ما هو المقصود بالباراميتر 0 صفر ؟
البارمتر الثالث مخصص للبرتوكول ("على آخر مستوى تغليف") المستخدم في التخاطب ,, والصفر تعني برتوكول ال IP ,, ويمكن كتابة IPPROTO_IP بدل الصفر ,, وسيعمل المثال ,, حيث يتم تغليف ال Packet بال IP HEADER هنا,,
اقتباسFamily Address يقصد به نوع التطبيقات التي سوف يتم تبادلها عبر قناة الاتصال Socket ، على سبيل المثال AF_INET يرمز الى التطبيقات المرتبطة بالشبكة ..؟
هنا يتم التعامل على مستوى ال NetWork كما أعتقد ,, وهي هنا بريوكول ال TCP/IP والخاص بالتعامل على شبكة الانترنت ويعتمده الوندوز بشكل كبير أيضا ,, في السابق من عصر الوندوز 98 كان يتم التعامل بشكل أكبر مع ال NETBIOS ,, وتوجد برتوكولات أخرى خاصة بكل نظام تشغيل ,, مثلا IPX/SPX برتوكول خاص بنظام NetWare ,, كل هذه يتم تخصيصها هنا ,, وأريد أن أتأكد من شيء ,, هل هذه هي ماتدعى بطبقة ال NetWork ,, لأنه ليس لدي معرفة جيدة بهذه الطبقات !!
اقتباس* htons();-Host to Network Short* htonl();-Host to Network long
* htons();-Host to Network Short
* htonl();-Host to Network long
أعتقد أنك كنتي تريدين أن تكتبي
ntohs و ntohl ,, وهما للقيام بالعملية العكسية :)
أترك الباقي ل chik , ,
بارك الله فيكم ,,
