PDA

View Full Version : آموزش: نحوه ی ایجاد برنامه های تحت شبکه (گام به گام از ابتدا تا انتها)



zayens
سه شنبه 23 شهریور 1389, 11:43 صبح
نحوه ی ایجاد برنامه های تحت شبکه (گام به گام از ابتدا تا انتها)

درباره برنامه های تحت شبکه هر چی جستجو میکنیم فقط به ما یه سری اطلاعات ناچیز میدن
(مثلا میگن باید سوکت پروگرمینگ بلد باشین یا به ما لینک میدن و ...) و توی هیچ سایتی هم به
طور کامل و قدم به قدم این مباحث آموزش داده نمیشه.

تو این تاپیک با کمک همه افراد مجرب میخواهیم گام به گام در هر پست این کار را یاد بگیریم.
دوستان سعی کنن اگه ممکنه مراحل را (مثلا کد نویسی - تعریف کلاینت - بهترین انواع کارت شبکه-
مباحث مربوط به سرور و ...) را در هر مرحله کامل توضیح بدن تا در پست های بعد از اون نیازی
نباشه دوباره گریزی به اون مباحث زده بشه.

از دیگر عزیزان هم خواستارم تا وقتی مباحث کامل نشده سوال نپرسن

خب دیگه بیایید شروع کنیم....

maryam_87
سه شنبه 23 شهریور 1389, 14:25 عصر
نحوه ی ایجاد برنامه های تحت شبکه (گام به گام از ابتدا تا انتها)

درباره برنامه های تحت شبکه هر چی جستجو میکنیم فقط به ما یه سری اطلاعات ناچیز میدن
(مثلا میگن باید سوکت پروگرمینگ بلد باشین یا به ما لینک میدن و ...) و توی هیچ سایتی هم به
طور کامل و قدم به قدم این مباحث آموزش داده نمیشه.

تو این تاپیک با کمک همه افراد مجرب میخواهیم گام به گام در هر پست این کار را یاد بگیریم.
دوستان سعی کنن اگه ممکنه مراحل را (مثلا کد نویسی - تعریف کلاینت - بهترین انواع کارت شبکه-
مباحث مربوط به سرور و ...) را در هر مرحله کامل توضیح بدن تا در پست های بعد از اون نیازی
نباشه دوباره گریزی به اون مباحث زده بشه.

از دیگر عزیزان هم خواستارم تا وقتی مباحث کامل نشده سوال نپرسن

خب دیگه بیایید شروع کنیم....
خب اول چه موقع برنامه نويسي شبكه داريم
(اگه جايي رو اشتباه گفتم دوستان درست كنند)
وقتي كه بخواهيم اطلاعاتمون رو تو يه شبكه به اشتراك بذاريم
از سوكت يا پورت براي اين كار استفاده مي كنيم
خب سوكت يا پورت به تعداد 65536 تا دونه داريم كه وقتي اطلاعاتي از اين پورت ها به كامپيوتر رسيد برنامه مورد نظر باز ميشه

SAMARE
سه شنبه 23 شهریور 1389, 18:23 عصر
سلام دوستان

من یه پیشنهاد دارم اونم اینه که دوستانی که میخوان در این زمینه آموزش بدن یه پروژه ساده رو ابتدا مد نظر بگیرن و براساس اون جلو برن و کم کم اونو گسترش بدن!!!

s.khoshfekran
سه شنبه 23 شهریور 1389, 18:34 عصر
این همه E-booke کامل درمورد Socket Programming هستش دیگه نیازی به این کارا نیست!!
یه کتاب هم هستش که اسمش برنامه نویسی شبکه به زبان C# هست برای ماکوفسکی ترجمه خعفرنژاد قمی!

mostafa_shoakry
سه شنبه 23 شهریور 1389, 19:07 عصر
این همه E-booke کامل درمورد Socket Programming هستش دیگه نیازی به این کارا نیست!!
یه کتاب هم هستش که اسمش برنامه نویسی شبکه به زبان C#‎ هست برای ماکوفسکی ترجمه خعفرنژاد قمی!
دوست عزیز یعنی اینکه به چن تا کتاب که معلوم نیس محتویاتش چه طور ترجمه شده یا اینکه که فقط فقط یه راه رو نوشته طبق اون بریم جلو؟
یعنی شما دوس ندارین یه روش دیگه ای هم بلد باشین؟ :عصبانی:

بچه ها فقط من یه سوال دارم :
تفکر درستی از "تحت شبکه" ندارم میشه یکم توضیح بدین؟
مثلا میگم تو بعضی جاها می گن تحت شبکه کردن نرم افزار یعنی اینکه دیتا بیس رو سرور و برنامه در کلاینت ها باشه.
و در بعضی جاها هم می گه نه اینطور نیست باید از NetRemoting. (یا یه همچین چیزی) استفاده کنی.
و در بعضی موقع می گن از TCP Programming باید استفاده کرد!!!
اصلا فرقشون چیه؟
کسی می تونه جوابی بده

qqq2qqq
سه شنبه 23 شهریور 1389, 20:57 عصر
نگاه کنید آفا مصطفی اگه بخوام ساده بگم اتوماسیون اداری یه جایی رو دیدین؟
به همون صورت همه با هم ارتباط دارن و این تو یه تعریف ساده از برنامه نویسی شبکه دارن استفاده می کنند،ok؟

ostovarit
سه شنبه 23 شهریور 1389, 21:21 عصر
نگاه کنید آفا مصطفی اگه بخوام ساده بگم اتوماسیون اداری یه جایی رو دیدین؟
به همون صورت همه با هم ارتباط دارن و این تو یه تعریف ساده از برنامه نویسی شبکه دارن استفاده می کنند،ok؟

مثلا نرم افزار حسابداری هلو رو ببینید ... سه کاربرش 800 هزار تومن میگیره ... بعد وقتی کاربر یک میخواد فاکتور بزنه داد میزنه و به کاربر دو میگه آهای فاکتور نزنی شماره ها یکی میشه ... و اگر همزمان فاکتور فروش بزنن دو فاکتور با شماره های مشابه داریم که باید ویرایش کنید... این یک نمونه شبکه سادست که فقط دیتابیس Shere شده که همه اینو بلدن و اصلا نیاز انچنانی به علم شبکه نیست کانکشن استرینگت رو درست کنی و چند تا exception هندل کنی تمومه... و در عمل هزاران حالت ممکنه پیش بیاد که دیتا ها با هم تداخل پیدا کنن ... شبکه پیشرفته هم یعنی از سوکت استفاده کنی این تداخلات پیش نیاد ... فک کنم تو ایران متداول برنامه نویسی شبکه از این حد بیشتر نیست ... بیشتر از این رو هم میدن به شرکتهایی که تخصصی شبکه کار میکنن که سالها باید درسش رو بخونه و با صد تا تاپیک زدن هم یاد نمیگیری واسه راه اندازی شبکش نیاز به سخت افزار هایی چند میلیونی داره و و و و ... واسه بحث شبکه بهتره از یک کتاب خود آموز شروع کنید یا دوره های کوتاه مدت مجتمع فنی و ... رو بگذرونی که بتونی با سخت افزار هم اشنا بشی و کار کنی بعد یک پروژه رو شخصا انجام بدید ایرادات رو در تاپیک های مربوطه بپرسید ... سریع ترین راه به نظر من اینه ...

j68719
چهارشنبه 24 شهریور 1389, 00:09 صبح
با نظر مصطفی موافقم

بچه ها فقط من یه سوال دارم :
تفکر درستی از "تحت شبکه" ندارم میشه یکم توضیح بدین؟
مثلا میگم تو بعضی جاها می گن تحت شبکه کردن نرم افزار یعنی اینکه دیتا بیس رو سرور و برنامه در کلاینت ها باشه.
و در بعضی جاها هم می گه نه اینطور نیست باید از NetRemoting. (یا یه همچین چیزی) استفاده کنی.
و در بعضی موقع می گن از TCP Programming باید استفاده کرد!!!
اصلا فرقشون چیه؟
کسی می تونه جوابی بده
و شما هم پاسخ خیلی خوبی دادید ولی من دقیقا همن که گفتین رو لازم دارم

. این یک نمونه شبکه سادست که فقط دیتابیس Shere شده که همه اینو بلدن و اصلا نیاز انچنانی به علم شبکه نیست کانکشن استرینگت رو درست کنی و چند تا exception هندل کنی تمومه...

میشه لطف کنید این کاری که گفتین رو به من یاد بدید مطمئن باشید ثواب داره چون من
چند هفته هست فکر و ذکرم شده ساخت یه بانک sql server که برنامه اش فقط در یک نسخه روی سرور اجرا بشه و بقیه کلاینت ها یک shortcut از اون رو اجرا کنن و همه هم زمان از بانک اطلاعاتی استفاده کنن.
خواهش می کنم کمکم کنید .
من همش با این خطا رو برو می شم

System.Security.SecurityException: Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed

arefba
چهارشنبه 24 شهریور 1389, 00:35 صبح
یه پی دی اف که قدم به قدم و خیلی خوب با نمونه مثال توضیح داده
اگه دانلود کردی تشکر فراموش نشه :لبخند:
56345

j68719
چهارشنبه 24 شهریور 1389, 01:24 صبح
کاربر دائمی arefba میشه به سوال منم جواب بدی خدا خیرت بده.

C Sharp
چهارشنبه 24 شهریور 1389, 07:11 صبح
یه پی دی اف که قدم به قدم و خیلی خوب با نمونه مثال توضیح داده
اگه دانلود کردی تشکر فراموش نشه

کتاب خوبیه ولی واسه شروع . . .

---------------------------------------------



System.Security.SecurityException: Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed


بهتر بود مشکلتون رو تو تاپیک جدا مطرح میکردین ،
فایلی که اینجا گذاشتم رو روی سیستم های شبکه اجرا کن

----------------------------------------------

به نظرم این تاپیک اینجوری پا نمیگیره ، خوب بود خود زننده تاپیک یک مسیری رو واسه بحث مشخص کنه. چون الان هرکسی یه چیزی میگه و میره ، یکی موافقت میکنه یکی مخالفت میکنه ، یکی ebook میذاره یکی دیگه مشکلی که قبلا داشته رو مطرح میکنه ....

در هرصورت اگه به این نتیجه رسیدین که کار ادامه پیدا کنه ، رو من حساب کنید

mehrsa_fr
چهارشنبه 24 شهریور 1389, 10:42 صبح
مثلا نرم افزار حسابداری هلو رو ببینید ... سه کاربرش 800 هزار تومن میگیره ... بعد وقتی کاربر یک میخواد فاکتور بزنه داد میزنه و به کاربر دو میگه آهای فاکتور نزنی شماره ها یکی میشه ... و اگر همزمان فاکتور فروش بزنن دو فاکتور با شماره های مشابه داریم که باید ویرایش کنید... این یک نمونه شبکه سادست که فقط دیتابیس Shere شده که همه اینو بلدن و اصلا نیاز انچنانی به علم شبکه نیست کانکشن استرینگت رو درست کنی و چند تا exception هندل کنی تمومه... و در عمل هزاران حالت ممکنه پیش بیاد که دیتا ها با هم تداخل پیدا کنن ... شبکه پیشرفته هم یعنی از سوکت استفاده کنی این تداخلات پیش نیاد ... فک کنم تو ایران متداول برنامه نویسی شبکه از این حد بیشتر نیست ... بیشتر از این رو هم میدن به شرکتهایی که تخصصی شبکه کار میکنن که سالها باید درسش رو بخونه و با صد تا تاپیک زدن هم یاد نمیگیری واسه راه اندازی شبکش نیاز به سخت افزار هایی چند میلیونی داره و و و و ... واسه بحث شبکه بهتره از یک کتاب خود آموز شروع کنید یا دوره های کوتاه مدت مجتمع فنی و ... رو بگذرونی که بتونی با سخت افزار هم اشنا بشی و کار کنی بعد یک پروژه رو شخصا انجام بدید ایرادات رو در تاپیک های مربوطه بپرسید ... سریع ترین راه به نظر من اینه ...

من فکر میکنم برنامه نویسیش مشکلی داره من خودم با شرکتی کار میکردم که برنامه حسابداریشو با access و vb6 نوشته بودن فقط دیتابیس share بود و حداقل 10 کاربر باهاش کار میکردند هیچ کس همچین مشکلی باهاش نداشت برنامه نویسی شبکه مزایای دیگه ای داره بهتره تو این جور برنامه نویسیسا از wcf و برنامه های client,Server استفاده کرد

j68719
چهارشنبه 24 شهریور 1389, 16:43 عصر
میشه بیشتر توضیح بدید خواهشا.

فایلی که اینجا گذاشتم رو روی سیستم های شبکه اجرا کن
چکاری انجام میده ؟
سوال بعدی در مورد کانکشن استرینگ ها و تنظیمات اون؟
و اینکه از یه تاپیکی خوندم

يكي از موارد مهمي كه بايد هنگام توسعه نرم افزار به اون دقت داشته باشين عدم وابستگي نرم افزار به سيستمي است كه نرم افزار بر روي اون توسعه پيدا مي كنه.
راه حل اون چیه فکر کنم خطای برنامه من از اینجاست.

zayens
چهارشنبه 24 شهریور 1389, 16:51 عصر
1. برنامه نویسی تحت شبکه

: در شبکه هر کامپیوتر دارای آدرس میباشد , این عدد آدرس 32 بیتی , به عبارتی 4 قسمتی را IP گویند.
TCP: یکی از پروتکل های لایه انتقال در شبکه اتصالگرا میباشد Transmission Control Protocol .
UDP: یکی از پروتکل های لایه انتقال در شبکه غیراتصالگرا میباشد .
CLIENT:کامپیوتری که در شبکه سرویس گیرنده است.
SERVER:کامپیوتری که به در خواستهای سرویس گیرنده ها پاسخ میدهد.

خلاصه:

امروزه با گسترش ارتبا طات و انواع شبکه های کامپیوتری جهت انجام امور نیاز مبرم به بر نامه های تحت شبکه از جمله socket programing احساس میشود , لذا در این مقاله به ا رائه مطالبی در این زمینه و ایجاد یک برنامه تحت شبکه(برنامه chat) میپردازم. در حقیقت این مقاله نقطه آغازی برای همه بر نامه نویسانی خواهد بود که به نحوی مجبور خو اهند شد برنامه کار بردی تحت شبکه اینترنت بنویسند.برای یک ارتباط نیاز به موارد زیر است :

• ارتباط ادامه دار
• زبان مشترک
• معنای آدرس دهی

ارتباط عمومی:
پروتکلها : زبانهای مشترک اینترنت هستند.

انواع آدرس در اینترنت :

1- آدرس IP از جنس آدرس فیزیکی 161.12.188.167
2- نام Domain از جنس آدرس منطقی ex.iraji .com
آدرس IP آدرس 32 بیتی است که به 4 قسمت تقسیم می گردد محدوده اعداد در هر قسمت از 255- 0
می باشد.
5 طبقه بندی برای آدرس IP وجود دارد :

توابع API در C :
GETHOST BY NAME – NAME IP ADDRES
GET HOST BY ADDRES – IP ADDRES AQME

برنامه های کاربردی مشترک:
در هر مورد پروتکل نمونه تعریف شده است .

شماره پورت :
16 بیت صحیح است . برای ارتباط نیاز به آدرس IP و شماره پورت می باشد.

در TCP ارتباط تعریف می شود با Unix در unix 1024 پورت اول برای هر دو نوع پورتکلها است و weu known ports نامیده می شود.

مدل tcp مبتنی بر اتصال است
قابل اطمینان smtr،http ،telnet ،ftp
رشته ای است (مسیل و نهر) (transmission control protocol / internet protocol)

مدلp ud غیر قابل اتصال
غیر قابل اطمینان tftp، nfs
دیتا گرامی است . ( بر اساس packet) (user datagram protocol) چکسام

zayens
چهارشنبه 24 شهریور 1389, 16:57 عصر
مفهوم socket :
فرض کنید در محیطی کار میکنید که فقط با فایل ها سر و کار داریم ,در چنین سیستمی ورودی خروجی هم (I/O) میتواند تو سط سیستم فایلها مدیریت شود.به عنوان مثال, صفحه نمایش را همانند یک فایل متنی در نظر بگیرید برای ا ینکه اطلاعا ت را در صفحه نمایش بفرستیم باید فایل را از نوع نوشتنی باز کنیم و اگر محتوای اشاره گر فایل خالی نبود یعنی سیستم عامل به فایل حافظه اختصاص داد میتوان در فایل اطلاعات را نوشت.

میتوانیم این ساختار را برای ارتباط دو بر نامه کاربردی روی دو کامپیوتر گسترش دهیم , یعنی باید یک ارتباط با یک کامپیوترروی شبکه) با یک آدرس Ip خاص (و برنامه ای خاص روی کامپیوتر با آدرس پورت مشخص بگشاییم.
سوکت ، ترکيبی از يک آدرس IP و پورت TCP ويا پورت UDP است . يک برنامه ، سوکتی را با مشخص نمودن آدرس IP مربوط به کامپيوتر و نوع سرويس ( TCP برای تضمين توزيع اطلاعات و يا UDP) و پورتی که نشاندهنده برنامه است، مشخص می نمايد. آدرس IP موجود در سوکت ، امکان آدرس دهی کامپيوتر مقصد را فراهم و پورت مربوطه ، برنامه ای را که داده ها برای آن ارسال می گردد را مشخص می نمايد.درزیر نام چند پروتکل برنامه کاربردی و آدرس پورت آنها مشخص شده است:

بسیاری از برنامه های کاربردی تحت شبکه از یک شماره پورت خاصی برای ارسال و در یافت اطلاعات استفاده میکنند.به عنوان مثال برنامه فرستادن ایمیل به پورت 25 گوش میکند , ما در برنامه های کاربردی خود می توانیم از پورت دلخواه استفاده کنیم , به عنوان مثال شماره سوکت در یک برنامه تحت شبکه میتواند :2000 127.67.78.97 باشد که قالب کلی این آدرس به صورت Ip:Port میباشد .
مفهوم Sap :
در سمت client & server بسته های شکسته شده برنامه های کاربردی مربوطه با عبور از پورت مربوطه از لایه های دیگر شبکه عبور میکنند.این شماره پورت واسط بین لایه برنامه کاربردی و انتقال در حقیقت همان Sap میباشد .

بنابراین ارتباط بین دو برنامه تحت شبکه مبادله اتلاعات بین دو نقطه TSap روی دو کامپیوتر در شبکه میباشد.همانطور که میتوان چندین فابل را همزمان باز نگه داشت در یک برنامه تحت شبکه همزمان میتوان چندین ارتباط باز و فعال داشته باشیم .مثلا از برنامه Yahoo messenger استفاده میکنیم در حقیقت ما از برنامه سمت client آن استفاده میکنیم و در server yahoo برنامه ای به پورتی که برنامه client اطلاعات را به آن میفرستد گوش میدهد.

انواع سوکت :

سوکت ها به طور کلی به 2 نوع میباشند:
1- سوکت های نوع stream که از نوع اتصالگرا هستند , یعنی باید قبل از مبادله اطلا عات یک اتصال به صورت لوله فرضی بین client و server بوجود میاید, این نوع سوکت ها بر مبنای tcp هستند.
2
- سوکت های datagramکه از نوع بدون اتصال هستند , یعنی نیاز به برقراری ارتباط فرضی ندارند , پس هیچ امنیتی در این نوع ارتباط وجود ندارد, این نوع سوکت ها بر مبنایudp هستند.
همواره باید به این نکته توجه کرد که در برنامه های تحت شبکه ارتباطات دو طرفه میباشد, یک برنامه ای که در سمت سرویس گیرنده اجرا میشود و دیگری در سمت سرویس دهنده.برنامه نویسی سوکت مربوط به لایه کاربردی میباشد و انتقال بسته های اطلاعاتی به لایه های دگر بر عهده سیستم عامل میباشد.
قبل از وارد شدن در مقوله برنامه نویسی سوکت بد نیست الگوریتم کل کاری که بایستی در سمت سرویس دهنده همچنین در سمت مشتری انجام شود را بررسی نماییم :

الف) یک سوکت را که مشخصه یک ارتباط است بوجود بیاوریم . این قسمت باید نوع ارتباط خود با سیستم عامل را (tcp یا upd ) معرفی نماییم . این کار در محیط یونیکس توسط تابع ()socket انجام می گیرد .

ب) به سوکتی که باز کرده اید آدرس پورت نسبت می دهیم بدین صورت تمام بسته های Tcp یا upd ای که آدرس پورت مقصدشان با شماره پورت برنامه شما مطابقت دارد به سمت برنامه شما فرستاده می شود این کار توسط تابع سیستمی() bind انجام می شود.به این پورت ، پورت منفعل می گویند .

ج) حال باید به سیستم عامل بگوییم کارش را برای پذیرش تقاضاهای ارتباط شروع نماید.این کار توسط تابع سیستمی ()listen انجام می شود . چون ممکن است تعداد تقاضاهای ارتباط زیاد باشد باید حد اکثر تعداد ارتباط tcp را که می توان پذیرفت مشخص کرد و برای آن بافر در نظر گرفت.

د) در پایان باید از سیستم عامل بخواهیم که یکی از ارتباطات معلق را به برنامه شما معرفی کند . این کار توسط تابع () accept انجام می گیرد.

ه) از دستورات () send و ()recv برای مبادله داده استفاده می شود.
و) در پایان باید ارتباط خاتمه یابد . به دو صورت است:

در برنامه مشتری بایستی اعمال زیر را انجام داد :
الف) یک سوکت بوجود بیاوریم
ب) نیازی نیست مانند سرویس دهنده به سوکت خود آدرس پورت نسبت دهیم یعنی لزومی به استفاده از دستور bind نیست چرا که برنامه سمت client منتظر تقاضای دیگران نیست بلکه خودش متقاضی برقراری ارتباط است . بنا بر این با تابع connect تقاضا را به سمت server می فرستیم .
ج) از توابع ()send یا ()recv برای ارسال و در یافت داده اقدام کنید .
د) ارتباط را با توابع close یا shut down می بندیم .

zayens
چهارشنبه 24 شهریور 1389, 17:15 عصر
--------------------
توابع مورد استفاده در socket programming در :C
* توابع socket غیر واقعی :
Ret = parse _net work _args (args & argv & host & port &errmes)
تنظیمات مربوط به شبکه را انجام می دهد و ویرایش می کند. به دنبال host و port می گردد و آنها را منتقل می کند . در صورت موفقیت صفررا برمی گرداند.
**قسمت :server

1)-Port _sk = socket(af_inet ,sock_stream ):

2)-Port _sk = tcp _passive _ open (port)
در قسمت server اجرا می شود.
Port = تعداد rort هایی که به کار می رود .
است . Port- sk توصیفگر socket
3)-Bind (polt _ sk, &bind_ddr , addr _lenl);

4)- Client _sk = accept (port _sk , &bind _ addr ,&lenl);

:client قسمت ***
1)-Serr_ sk = tcp _active_open (host ,port)
Host = نام ماشین server
Port = شماره پورتی که به کار می رود
Server-sk = توصیفگر socket است .
آدرس IP و HOST پیدا می شود :
Host Ip = gethost by name(host name);
2) Ser v _sk = secket (af _ inetو sock _ stream;);
3) connect( ser v _skو &bind _addr و addr _len);
سوکت Serv _sk می تواند برای صحبت با سرور به کار رود .
Header files های اصلی در زبان c برای برنامه نویسی socket :

.<sys/ typas.h> لازمه انواع داده ای است
.<errno.h> ها می باشد error شماره
.<sys/sochet.n> و سیستمی را شامل میباشد socke ساختارها و ثابت های
.<netdb.h.h> ساختارهای مربوطه به شبکه ای را شامل می باشد
.<netinet/in.h > را شامل می شود socketتوابع مربوط .<arpa/inet.h> توابع کاربردی را شامل می باشد
توابع مدیریت داده در شبکه :
IP و نام dns یک host را بر می گردان * get host by name -
نام service و پروتکل را بر می گرداند. * get serv by name -
نام host را در شبکه محلی بر می گرداند. * get host name -
* get server by name get serv by port get servent
* getproto by name get proto by number get protobyeat
* get net by name get net by add get net ent

مقایسه ارسال و دریافت داده ها به روش : udp
روال در هر دو برنامه سمت client ،server به یک شکل است :
الف ) یک سوکت از نوع دیتا گرام ایجاد کنید . این کار با فراخوانی تابع ()socket با پارامتر sock-dgram انجام می شود
ب) با تابع ()bind به سکوت ایجاد شده آدرس پورت مورد نظرتان را نسبت دهید.
ج ) حال می توانید منتظر دریافت و یا ارسال داده ها باشید ( در دریافت آدرس برنامه مبداء ( آدرس ip و port ) مشخص می گردد و ارسال امکان پذیر است).

ارسال و دریافت با توابع انجام می شود.

نتیجه گیری:

بر اساس تمام برنامه های کاربردی تحت شبکه لایه چهارم مفهومی به نام سوکت است . این مفهوم به منظور برقراری ارتباط برنامه های تحت شبکه و تبادل جریان داده ها بین پروسه ها ابداع شد . لذا این مقاله نقطه آغازی برای همه برنامه نویسانی خواهد بود که به نحوی مجبور خواهند شد برنامه کاربردی تحت شبکه اینترنت بنویسند.

qqq2qqq
چهارشنبه 24 شهریور 1389, 18:43 عصر
سلام
امروز یه فایلی رو براتون آپلود کردم البته مال خوذم نیست تو هارم بود گفتم بذازم بچه ها استفاده کنند

باز هم فایل های آموزشی سوکت دارم دوباره آپلود می کنم
فعلا این یکی فقط کسی که دانلود می کنه تشکر چیز بدی نیست:لبخند:
http://www.xlpar.com/wbzoxd8in29t/document.pdf.html

zayens
چهارشنبه 24 شهریور 1389, 21:28 عصر
فکر کنم اگه تاپیک همین جوری پیش بره به یه جاهایی میرسیم

zayens
پنج شنبه 25 شهریور 1389, 14:47 عصر
اینم برنامه چت بین کامپیوترهای یک شبکه lan با امکان ارسال فایل

البته زحمتش را Kia1349 کشیدن که دستشون درد نکنه

http://barnamenevis.org/forum/showthread.php?t=198512

qqq2qqq
شنبه 27 شهریور 1389, 18:48 عصر
اینم برنامه چت بین کامپیوترهای یک شبکه lan با امکان ارسال فایل

البته زحمتش را Kia1349 کشیدن که دستشون درد نکنه

http://barnamenevis.org/forum/showthread.php?t=198512

امروز یه فایلی رو براتون گذاشتم که بسیار عالی مباحث سوکت را توضیح داده ، فکر کنم با خوندنش می تونید یه برنامه تحت شبکه بنویسد

بار بعد سورس یه برنامه چت باز vb و c# را همراه با توشیحات کامل همین جا می ذارم

تشکر که یادتون........:لبخند:

http://www.xlpar.com/kgdowug41c81/Network_Programming_with_C_.pdf.html

zayens
یک شنبه 28 شهریور 1389, 12:18 عصر
امروز یه فایلی رو براتون گذاشتم که بسیار عالی مباحث سوکت را توضیح داده ، فکر کنم با خوندنش می تونید یه برنامه تحت شبکه بنویسد

بار بعد سورس یه برنامه چت باز vb و C#‎ را همراه با توشیحات کامل همین جا می ذارم

تشکر که یادتون........:لبخند:

http://www.xlpar.com/kgdowug41c81/Network_Programming_with_C_.pdf.html
بسیار از کتابی که انتخاب کردید ممنون

توصیه میکنم که همه علاقه مندان این کتاب را دانلود کنن
فکر کنم همون طور که خودشون گفتن : با خوندنش می تونید یه برنامه تحت شبکه بنویسید
البته اگر چند صفحه اول کتاب قبلی را هم که در چند تا پست قبلتر بازم توسط ایشون گذاشته شده را بخونین اونوقت دیگه تو مفاهیم اولیه در این کتاب هم مشکل نخواهید داشت.
این کتاب شما را خیلی سریع پیش میبره و در سومین صفحه یه برنامه کوچیک نوشته و در موردش توضیح داده و در کل 100 صفحه با انواع برنامه ها مهارت شما را راحت و سریع بالا میبره.

اگه فقط یه کم وقت بذارین و زحمت بکشین به اون چه میخواین میرسین.

C Sharp
یک شنبه 28 شهریور 1389, 13:32 عصر
zayens عزیز ، این مطالبی که گذاشتید رو از کجا copy paste کردین ؟ غلط املایی زیاد داره ، جملاتش بهم ریخته ، مربوط به زبان C هست نه C#‎ !

اینجوری قراره آموزش بدین ؟!!

arefba
یک شنبه 28 شهریور 1389, 13:53 عصر
ببخشید دوستان نمیدونستم اینقدر علاقه مند به سوکت پروگرامینگ هست
خوب من یه نرم افزار میزارم که شاید براتون جذاب باشه
نرم افزار فیلم برداری از کامپیوتر های متصل به شبکه
این برنامه متشکل از دو نرم افزار هست که یکی در سرور و یکی دیگه در کلاینت عمل می کنه
می تونید ازش الگو برداری کنید (من ننوشتم و یادم نیست کی نوشته یه دعا براش بکنید )
براتون آپلود می کنم

56668
----------------------------------------------------
خواهش می کنم :قلب:

a1053r
یک شنبه 28 شهریور 1389, 14:10 عصر
ببینم شماها اسم این پاپیک رو نخوندید؟؟؟؟؟
نوشته آموزش نه معرفی PDF,EBOOK حدائقل احترام کسی که این تاپیک رو زده رو نگه دارید و بزارید آموزشش رو ادامه بده.
این همه ساله این تالار بوده و هست این همه سوال پرسیده شده در مورد شبکه کسی هم این کتابارو معرفی نکرد حالا که می خواد کار مفیدی انجام بشه کتاب و مثال می زارین؟؟؟؟؟؟

qqq2qqq
دوشنبه 29 شهریور 1389, 00:46 صبح
دوستان سورس یه برنامه سوکت را با زبان c# و vb گذاشتم که دوستان استفاده کنند در ضمن درونش یه pdf هست که کدهای سوکت را هم به زبان vb و هم به c# نوشته

موفق باشید
http://www.xlpar.com/2djp0mgyi0ja/SampleSocketChat.rar.html

zayens
دوشنبه 12 مهر 1389, 21:43 عصر
لطفا به متن زیر دقت کنین:

... برای اینکه یک برنامه، تحت یک شبکه کار کند (در خیلی از موارد) نیازی نیست که از برنامه نویسی
مستقیم سوکت ها استفاده شود.
...اگر برنامه از یک بانک اطلاعاتی مثل SQL Server استفاده میکند و میخواهید دیتای واحدی را در
رایانه های مختلف شبکه محلی به اشتراک گذاشته و استفاده کنید لزومی به برنامه نویسی سوکت
نیست و فقط کافی است با چند کلیک
1- برنامه SQL Server را برای شبکه تنظیم کنید و
2- برای دیتابیس مورد نظر لوگین و یوزر و پسورد تعریف کنین تا از آنها در رشته های اتصال ConnectionString
در برنامه های روی کلاینتها یا حتی روی سرور استفاده کنید

اگر متن بالا را تأیید میکنید کسی میتونه بگه تنظیماتی که در شماره ها ی 1- و 2- گفته شده به چه ترتیبی هستند؟
کسی میتونه نمونه کد ساده ای بذاره که ضمن داشتن یک دیتابیس کوچک و کم حجم، طوری تنظیم شده باشه که بدون برنامه نویسی سوکت ها در کامپیوتر سرور نصب بشه و کلاینتها از اون برنامه استفاده کنن؟

zayens
دوشنبه 12 مهر 1389, 21:47 عصر
راستی اضافه کنم که اگر میخواهید نمونه کد بذارید خواهشا مرحمت فرمایید و برای دیتابیس عملیات insert و...
هم قرار بدین.
با تشکر و درود فراوان

daivid_ d31r1
سه شنبه 13 مهر 1389, 12:40 عصر
سلام دوستان

ببینم شماها اسم این پاپیک رو نخوندید؟؟؟؟؟
نوشته آموزش نه معرفی PDF,EBOOK حدائقل احترام کسی که این تاپیک رو زده رو نگه دارید و بزارید آموزشش رو ادامه بده.
این همه ساله این تالار بوده و هست این همه سوال پرسیده شده در مورد شبکه کسی هم این کتابارو معرفی نکرد حالا که می خواد کار مفیدی انجام بشه کتاب و مثال می زارین؟؟؟؟؟؟
منم موافقم با شما دوست عزیز
لطفا مراحل کار و بگید و گرنه گذاشتن سورسی که شاید چن صد خط باشه برای کسی که تاره میخاد شلو کنه کارساز نیست
نقل قول:نحوه ی ایجاد برنامه های تحت شبکه (گام به گام از ابتدا تا انتها)

طبیب دل
چهارشنبه 14 مهر 1389, 01:32 صبح
امروز یه فایلی رو براتون گذاشتم که بسیار عالی مباحث سوکت را توضیح داده ، فکر کنم با خوندنش می تونید یه برنامه تحت شبکه بنویسد

بار بعد سورس یه برنامه چت باز vb و C#‎ را همراه با توشیحات کامل همین جا می ذارم

تشکر که یادتون........:لبخند:

http://www.xlpar.com/kgdowug41c81/Network_Programming_with_C_.pdf.html
دوست عزیز لینکهایی که گذاشتی باز نمیشه

طبیب دل
چهارشنبه 14 مهر 1389, 01:34 صبح
سلام
امروز یه فایلی رو براتون آپلود کردم البته مال خوذم نیست تو هارم بود گفتم بذازم بچه ها استفاده کنند

باز هم فایل های آموزشی سوکت دارم دوباره آپلود می کنم
فعلا این یکی فقط کسی که دانلود می کنه تشکر چیز بدی نیست:لبخند:
http://www.xlpar.com/wbzoxd8in29t/document.pdf.html
این لینک هم باز نمیشه لطفا جای دیگه آپلود کن اگر با پسوند rar همین جا بزاری بهتره

Atiyeh1370
یک شنبه 17 بهمن 1389, 21:03 عصر
سلام
من اصلا نتونستم از برنامه های client-server که اینجا گذاشتید استفاده کنم
کسی میدونه تو #C کار با ابزار axWinsock چه جوریه؟
تو را خدا یکی کمکم کنه
من 30 بهمن 89 باید پروزمو تحویل بدم
کاربر arefba تو نمیدونی؟
خدا خیرتون بده یکی کمکم کنه

Atiyeh1370
دوشنبه 18 بهمن 1389, 10:39 صبح
سلام
این برنامه هایی که اینجا بود هیچ کدوم با winsock کار نمیکرد
کسی میدونه کار با کنترل axWinsock تو #C چطوریه؟
یعنی چطور میشه با این کنترل یه برنامه client-server بنویسیم؟
لطفا هرکس هچی میدونه بگه
خیلی ممنون

m.soleimani
دوشنبه 18 بهمن 1389, 11:33 صبح
سلام
من اصلا نتونستم از برنامه های client-server که اینجا گذاشتید استفاده کنم
کسی میدونه تو #C کار با ابزار axWinsock چه جوریه؟
تو را خدا یکی کمکم کنه
من 30 بهمن 89 باید پروزمو تحویل بدم
کاربر arefba تو نمیدونی؟
خدا خیرتون بده یکی کمکم کنه


سلام
این برنامه هایی که اینجا بود هیچ کدوم با winsock کار نمیکرد
کسی میدونه کار با کنترل axWinsock تو #C چطوریه؟
یعنی چطور میشه با این کنترل یه برنامه client-server بنویسیم؟
لطفا هرکس هچی میدونه بگه
خیلی ممنون

هم‌شهری یعنی چی تو را خدا یکی کمکم کنه؟! بده از شما بعیده یکم صبور باش و درست دنبالش بگرد فعلن اینو داشته باش تا بعد:

http://www.go4expert.com/forums/showthread.php?t=3312

اگه همه فکرت این باشه که از شر این پروژه لعنتی خلاص بشی هیچ آینده‌ای در زمینه نرم‌افزار و برنامه نویسی نخواهی داشت فکر کن مجبوری هر روز تا 17 , 18 سال دیگه توی یه شرکت برنامه نویسی کنی موفق باشی./

m.soleimani
دوشنبه 18 بهمن 1389, 11:39 صبح
اینم یه مورد دیگه :

http://www.canbal.com/index.php?/Using-C-Sharp/using-winsock-in-a-client-server-application.html

mostafa_shoakry
سه شنبه 19 بهمن 1389, 21:30 عصر
لطفا به متن زیر دقت کنین:

1- برنامه SQL Server را برای شبکه تنظیم کنید و
2- برای دیتابیس مورد نظر لوگین و یوزر و پسورد تعریف کنین تا از آنها در رشته های اتصال ConnectionString
در برنامه های روی کلاینتها یا حتی روی سرور استفاده کنید

یه سری به این دو تاپیک بزنید،
این تاپیک (http://barnamenevis.org/showthread.php?235821-%D8%AA%D9%86%D8%B8%DB%8C%D9%85%D8%A7%D8%AA-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%AF%D8%B1-%D8%B4%D8%A8%DA%A9%D9%87-%D8%A8%D9%87-%D9%87%D9%85%D8%B1%D8%A7%D9%87-Connection-String&highlight=connection+string) تنظیمات تو ویندوز اکس پی هست به همراه یه سورس کوچولو :لبخند:
این تاپیک (http://barnamenevis.org/showthread.php?250354-%D8%AA%D9%86%D8%B8%DB%8C%D9%85%D8%A7%D8%AA-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%AA%D8%AD%D8%AA-%D8%B4%D8%A8%DA%A9%D9%87-%D8%A8%D9%87-%D9%87%D9%85%D8%B1%D8%A7%D9%87-connection-string-%28%D8%AA%D9%86%D8%B8%DB%8C%D9%85%D8%A7%D8%AA-%D8%AF%D8%B1-7%29&highlight=connection+string) تنظیمات تو ویندوز سون هست :لبخند:

hadis shaeidi
سه شنبه 27 دی 1390, 19:15 عصر
سلام خسته نباشید دوستان
من یه برنامه انتقال فایل تحت شبکه میخواستم که باتوابع کتابخانه ای زیرباشه:
system.net.sockot
system.net
موفق باشید

h-rafiee
سه شنبه 27 دی 1390, 23:22 عصر
به نظر بنده.
اصولا این تاپیک باید حذف بشه به چند دلیل:
1-نداشتن برنامه ای روشن برای آموزش
2-هماهنگ نبودن عنوان با مطالب باقیه دوستان
3-شرح خط به خط یا تفسیری از کتاب(کتاب قابل تهیه است،اما علم نه)
4-عدم یکنواختی در آموزش
5-عدم کنترل رو مطالب
و ...
پیشنهاد:
1-تاپیک جدید با وضع قوانین اولیه
2-آموزش ها علم محور نه کتاب محور
3-آموزش و آزمون باشه(یعنی ایجاد پروژه حتی در حد ارسال سلام)

اصولا این تاپیک باعث سر درگمی افراد شده اگه دوستان ای نقد رو بررسی کنن خیلی بهتره.
و یک عده از دوستان خیال کرده که اینجا شبکات اجتماعی است گویا که بدنبال تشکر یا لایک می باشند

mahan.2002
چهارشنبه 28 دی 1390, 00:52 صبح
منم هم با نظر بالا تا حدی موفقم این تاپیک اصلا مطالبش پراکندست

من پیشنهاد میکنم نه یه تایپک بلکه مدیران یه تالار مخصوص ایجاد کنند که بشود مطالب بخش بندی شده و به صورت طبقه بندی شده در اختیار دوستان قرار بگیرد.

hadis shaeidi
چهارشنبه 28 دی 1390, 12:58 عصر
منم بانظرشماموافقم کلا بایدیه برنامه براشروع بزارن وروی اون برنامه کارکنن گام به گام تاهمه بخوبی متوجه بشن.

nazipaiz90
چهارشنبه 21 فروردین 1392, 23:40 عصر
سلام دوستام من میخام یه برنامه ازمونگیر رو تحت شبکه کنم همه میگن دیتابیسو رو سرور بزار دیگه مشکلی نیست و تو کانکشن ای پی سرور رو بده به نظرتون درسته ؟