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

### مجموعة من الأسئلة .. تحتاج إلى أجوبة بسيطة جدا .. ولكنها محيرة جدا بالنسبة إلي ###

مغلق
بدأه n3rd في 14 فبراير 2007 · 3 رد · 753 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

عندي مجموعة من الأسئلة وهي خفيفة جدا ولكن محيرة بالنسبة لي:

*************************************

السؤال الأول: مرت علي هذه المكتبات في إحدى البرامج (open source) وحبيت أعرف نبذة عنها:

#include <arpa/inet.h>

#include <fcntl.h>

#include <pthread.h>

ممكن نبذه عنها أو روابط عنها .

السؤال ثاني:

اقتباس
void send_file(int,int);

واضحة بالنسبة لي. :)

void parsing_request(int,char *);

لماذا النجمة اللتي بجانب char ? :blink:

void *handle(void *);

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

void create_socket(int);

ياسلام سلم على البساطة. :D

السؤال الثالث:(ب5000 ريال) :P

port = atoi(argv[1]);

لماذا استعمل هذه الدالة .. ألا يمكنه تعين الargv[1[ من غير دالة atoi?

ملاحظة:

أعتقد أنه حول رقم البورت من "21" (string) إلى رقم int وهو 21

صح؟ ;)

السؤال رابع:

pthread_t thread;

هذه أعتقد إنها تابعة إلى المكتبة (pthread.h) وراح تكرر أسألتي حولها

لإني لا أعلم عنها شيئا

struct sockaddr_in servAddr,clieAddr;

واضحة وضوح الشمس

ولكن

memset(&servAddr,0,sizeof(servAddr));
  servAddr.sin_family=AF_INET;
  servAddr.sin_addr.s_addr=htonl(INADDR_ANY);
  servAddr.sin_port=htons(port);

أعتقد إنكم لاحظتم أول سطر وهو:

memset(&servAddr,0,sizeof(servAddr));

وش الفايدة منها؟

أنا أظن إنه لتعيين القيمة صفر لكل من servAddr.sin_port و servAddr.sin_addr ووو... صح؟

السؤال الخامس:

 if(bind(listenfd,(SA *)&servAddr,sizeof(servAddr))<0)
  {
	printf("Error : Cannot bind IP and port.\n");
	exit(-1);
  }

هالحين الموجود في أول البرنامج(خارج الmain) هو السطر هذا:

#define SA struct sockaddr

ولكن لماذا لما كتبناها داخل الmain بالنجمة ؟ ألا يجب علينا كتبابتها مثل:

if(bind(listenfd,(SA )&servAddr,sizeof(servAddr))<0)
  {
	printf("Error : Cannot bind IP and port.\n");
	exit(-1);
  }

السؤال السادس:

pthread_create(&thread,NULL,handle,(void *)connfd);	
	pthread_join(thread,NULL);

هذه اللي لا أعلم عنها شيئا(وأريد أن أعرفها)

السؤال السابع:خلونا نفصفص الدالة هذه:

void *handle(void *arg)
{
  int sockid=(int)arg;
  char *buff=malloc(MAXLINE);

  bzero(buff,MAXLINE);

  if(recv(sockid,buff,MAXLINE,0)<=0)
  {
	printf("Recive error In Server.\n");
	exit(1);
  }
  parsing_request(sockid,buff); 
  return NULL;
}

int sockid=(int)arg;

حاب أستفسر عن int اللي بين القوسين والفرق بينها وبين الint اللي خارج القوس؟ :s

char *buff=malloc(MAXLINE);

معروفة.

bzero(buff,MAXLINE);

ماهي معروفة. وش هي؟ الدالة ذي؟ :lol:

return NULL;

هالحين .. NULL = 0 ولا لأ؟

وليه يكتب NULL الله يهديه بس :rolleyes:

السؤال الثامن:(مادري الثامن ولا السابع مضيع والله)

 line=strtok(buff," ");
  line=strtok(NULL," ");

لا تعليق. :huh: الدالة strok أول مرة اسمع وفيها وحاولت أدور عنها في المنتدى وقوقل ومالقيت شي.

السؤال التاسع:

fp=open(path,O_RDONLY,"r")

مع العلم إنه fp من نوع int

وسؤالي هو:

الدالة open تابعة لأي مكتبة ؟

مافائدتها؟

وماهي هذه الوسائط وبالذات O_RDONLY

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

السؤال العاشر:

file_length = lseek (fp,0,SEEK_END);
  printf ("Page file size : %d\n",file_length);

كيف قدر يطلع length الملف؟

وكيف شغل مخه؟ هل هي معادلة أو لإنه استعمل الدالة lseek (تابعة لأي مكتبة) ؟

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

السؤال الحادي عشر:

آخر سؤال ماهي الدلة sprintf

تابعة لأي مكتبة؟

ماذا تقوم به؟

لإني دورت عنها في man وفي المنتدى ومالقيت :wacko:

أتمنى أسألتي تكون خفيفة (أعتقد إنه خفيفة لإنها من مبتدأ)

;)

وطبعا ماراح أدعيلكم هنا

الدعاء من ظهر الغيب أفضل :) (أعتقد :lol: )

عالعموم أنا كلمة أعتقد كثيرة عندي مادري ليه يمكن عشاني متردد B)

أتمنى ألاقي جواب يروي ظمأي برمجيا :)

./Hasan

#2

اخي العزيز The sinper ممكن تقبل ردي هذا ...

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

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

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

في مره من المرات كنت احاول ان اتعلم استغلال ثغرة بالسي فتفاجئت ان هناك مكتبة لم اسمع عنها وهي netdb.h على ما اذكر بحثت عنها في النت فوجدت انها يمكن تحميلها جاهزة ووضعها مع المكتبات القياسيه الموجوده في المترجم المستعمل لديك . او تحمل السورس الخاص بها وتترجمه بالمترم الخاص بك وبالكبع هي مكتوبه بالسي .

والمكتبة موجوده على هذا الرابط ... http://cvs.opensolaris.org/source/ يمكن ان يفيدك مجرد اكتب اسم المكتبه وبعدها انظر النتائج لعلها تفيدك في شئ .

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

اتمنى ان اكون قد افدتك بشئ .

تحياتي

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#3

طيب خلاص

راح أجيب لك السورس كود

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

وهي كثيرة

وشاكر لك حسن التعاون

\حسن

#4

اهلا بك اخي العزيز ...

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

وهي كثيرة

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

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

في مره من المرات كنت احاول ان اتعلم استغلال ثغرة بالسي فتفاجئت ان هناك مكتبة لم اسمع عنها وهي netdb.h على ما اذكر بحثت عنها في النت فوجدت انها يمكن تحميلها جاهزة ووضعها مع المكتبات القياسيه الموجوده في المترجم المستعمل لديك . او تحمل السورس الخاص بها وتترجمه بالمترم الخاص بك وبالكبع هي مكتوبه بالسي .

والمكتبة موجوده على هذا الرابط ... http://cvs.opensolaris.org/source/ يمكن ان يفيدك مجرد اكتب اسم المكتبه وبعدها انظر النتائج لعلها تفيدك في شئ .

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

اتمنى ان اكون قد افدتك بشئ .

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

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

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…