در این جا هر کسی میتونه هر چی از برنامه نویسی تحت شبکه در سی می خواد بپرسه و یا مطالبشو بگذاره!!! در ضمن منظور از سی همون c/c++torbo قدیمیه نه این ژیگول که تازه اود(c.#)!!!!
در این جا هر کسی میتونه هر چی از برنامه نویسی تحت شبکه در سی می خواد بپرسه و یا مطالبشو بگذاره!!! در ضمن منظور از سی همون c/c++torbo قدیمیه نه این ژیگول که تازه اود(c.#)!!!!
سلام.
میشه برای من ارسال چند بایت رو با توابع winsock توسط پروتکل UDP توضیح بدید؟
ببین دوست عزیز برای درک بهتر بهتره بصورت مختصر با شبکه آشنا باشی ! که مطالب زیاده و در دست رسه!!!
خلاصه:
سوکت دونوع داریم سوکت استریم که در اتصال ایمن ازش استفاده می شه که هون tcp , و سوکت دیاگرام که نامطمئن و بدون اتصاله که برای سرعت بیشتر برای انتقال صدا و تصویر ازش اصتفاده می شه!!!
در حقیقت تابعه h.winsock میاد بدون در گیری با مفاهیم پیچیده تقاضای ایجاد فضا رو به سیستم میده !!
برای این سبک برنامه نویسی باید هم برنامه ی سرور رو داشت هم کلای. رو کلایت به سرور تقاضا میده و برنامهی سرور متناسب با اون میاد پاسخ میده !!!
در برنامه ی سرور شما باید اول یه درخواست ارتباط به سیستم عامل بدین در همین مرحله باید نوع ارتباط خودتون رو که می خواهید از udp استفاده کنید رو بدید البته بیشتر از tcp استفاده میشه!!
توسط تابع bind پورتآدرس بدید این کار درحقیقت اطلاعاتو از پشته ی پروتکل به برنامه منتقل میکنه!!!((اینو دیگه خیلی خیلی مختصر گفتم)
و شروع کار مورد علاقه ی من رو دستور میدید همون فل گوش
بعد از دستور recv() برای دریافت و send() برای ارصال اتفاده کنید البته این یادم رفت که باید قبلش یک ارتباط رو به برنامه نسبت بدید با دستور !!!! دستور لجبازیه اما کاملا کار بردی!!!!
چون ارتباط یه طرفه است با دستور shotdown (از udp) از کلایت برنامه تموم میشه!!!!
راستی از فردا درس و دانشگاه شروع میشه!!! دیگه وقت برای جواب دادنا خیلی کم می شه و ممکنه مدت جواب دادن طولانی بشه پس هر کس جواب رو میدونه بگه و هر کسی هم هر سوالی داشت مطرح کنه یکی بلده جواب میده یکی بلد نیست یاد می گیره!!! در ضمن منم عقل کل نیستم پس اشتباهاتمو بگیرید و جواباتونو بدید تا همه از ان جا اسفاده کنیم!!!
دوست عزیز من با مفاهیم شبکه آشنا هستم بیشتر میخواستم با کد نویسی یک مثال بزنید.
در کل دستتون درد نکنه.
این کد سرور رو الان نوشتم توضیح فقط اینکه برای سادگی و همه فهم بودن از پردازش اخطار ها پشم پوشی کردم و اینکه برنامه ی کلای با خودتون کار برنامه هم منتظر در یافت می مونه به محض در یافت بسته نمایش می ده خیلی خیلی سعی کردم ساده باشه اما شما خودتون م تونید بهترش کنید البته من از همون udp یا دیاگرام کد کردم شما بهتر از tcp همیشه استفاده کنید خیلی در امنیت برنامه تاثر گذاره. این رو با gcc کامپایل کنید!!!!
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by samasara; 23-09-2012 at 18:27.
انشا الله بعدا هر بخش رو مفصلا با توضیح توابع مربوطه توضیح میدم! فعلا رو همین کار کنید !! شما هم اگه اطلاعاتی کلا در ضمینه سی که کمتر به اون پرداخته شده بفرمایید!!!
دوست عزیز این چیزی که شما نوشتی دقیقا چیکار میکنه؟کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
الان متغییر buf کجا تعریف شده؟
پلتفرم اجرایی برای این کد چیه؟ یعنی روی چه سیستم عاملی میشه کامپایلش کرد؟
TCP/IP هم یک پروتکل استاندارد هست و فکر نمیکنم سیستمی باشه که این پروتکل رو نشناسه!
چندتا غلط نوشتاری هم داخلش هست!
Last edited by Expert32; 22-09-2012 at 15:05.
دوست عزیزم سوکت برای شبکه ها با پروتوکل های دیگه به صورت معادل در نظر گرفته شده بنا براین باید بگونه ای ساختمان رو ایجاد کرد که در همه ی پروتوکل های شبکه قابل استفاده باشه و آفرین به نکته بینی شما اما دقت کنید که من نگفتم اونو نمیشناسه بلکه گفتم اون از اون استفاده نمی کنه اما اگر به صورت تخصصی ت ه قضیه نگاه کنیم ان کار برای اینه که طور ادرس پورت (2 بایتی) و طول ادرس ip (4 بایتی) که این در حالی که در شبکه های مختلف این حالت متفاوته !! فکر کنم توضیح کامل و دقیقی داده باشم....
درباره ی غلط هی نوشتاری حق با شماست بله چنتایی گذاشتم ببینم کی حال خوندنشو اصلا کسی علاقه داره یا فقط دوستان میبنن و رد می شن!!!!
اما در باره buf این همون بافره که با char تعریف شده این یکی رو عمدی نگذاشته بودم چون معمولا من buf برای این کار در نظر می گرفتم. این یکی دیگه اشتباه شد ببخشید!!!!!!!!!!!!!!!
دوتا سوال باقی مونده رو توی پست قبل وجود داره!!! در ضمن خود کد هم میگه چی کار می کنه!
آفرین آفرن و بازم آفرین!! بازم اگر سوالی بود بگید یا مطلبی اشکالی ... بود بفرمایید انشاالله هم udp و tcp هر دو رو کامل با توابع مربوط و شاید چند مثال شبکه ای با حال که با هم طراحی می کنیم بزارم !!
Last edited by samasara; 22-09-2012 at 16:53.
تشکر از توضیحی که دادید.دوست عزیزم سوکت برای شبکه ها با پروتوکل های دیگه به صورت معادل در نظر گرفته شده بنا براین باید بگونه ای ساختمان رو ایجاد کرد که در همه ی پروتوکل های شبکه قابل استفاده باشه و آفرین به نکته بینی شما اما دقت کنید که من نگفتم اونو نمیشناسه بلکه گفتم اون از اون استفاده نمی کنه اما اگر به صورت تخصصی ت ه قضیه نگاه کنیم ان کار برای اینه که طور ادرس پورت (2 بایتی) و طول ادرس ip (4 بایتی) که این در حالی که در شبکه های مختلف این حالت متفاوته !! فکر کنم توضیح کامل و دقیقی داده باشم....
من دقیقا میدونم اون خط از کد چکاری انجام میده و بیشتر میخواست از شما بپرسم تا ببینم شما چه جوابی میدید. اون خط مربوط میشه به بحث Big/Little Endian که مربوط به CPU های مختلف میشه و هیچ ارتباطی هم با TCP/IP نداره بلکه شامل همه جور اطلاعاتی که تحت شبکه و از سیستمی به سیتم دیگر منتقل میشود (شامل سیستم هایی با CPU های مختلف) میشه.
--------------------------
و چیز دیگری که میخواستم بگم اینکه این کدهایی که شما نوشتید کار خاصی رو انجام نمیدن یعنی نه دریافت و نه ارسال اطلاعات و فقط میشه گفت یک کد ناقص هست که مضمون خاصی از نظر آموزشی هم حداقل برای من نداشت.
تشکر.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)