نمایش نتایج 1 تا 2 از 2

نام تاپیک: شبکه کردن 2 کامپیوتر با Winsock به شکل خیلی ساده و آسان (وحشتناک)

  1. #1
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    اصفهان
    پست
    717

    Cool شبکه کردن 2 کامپیوتر با Winsock به شکل خیلی ساده و آسان (وحشتناک)

    با سلامی دیگر و حال روز خوشتون امروز چون دیدم اصلا هیچ آموزش ساده و مبتدی برای شبکه کردن در سایت وجود نداره قصد دارم با شکل خیلی خیلی ساده
    به شما یاد بدم چجوری میشه تحت شبکه یک متن را ارسال کرد.
    (قدم به قدم کارهایی که میگویم را انجام دهید).


    خب کار خیلی است ما به 2 برنامه مجزا نیاز داریم.
    که یکی اسمش میشه Client و دیگری میشه Server

    در اینجا Server به یک حالتی خدمات دهنده تبدیل میشه که به یک شکلی باید منتظر مشتری باشد
    و Client در اینجا هم باید به دنبال Server بگرده و وصل بشه (مثل یک مشتری که میرود از فروشنده جنس تهیه کند)

    Server


    خب ما کارمان را با Server شروع میکنیم اول
    برای این کار وارد vb6 شوید و بعد Ctrl+T را بزنید و به دنبال گزینه Microsoft Winstoc Control 6.0 بگردید
    و اونو به صفحه اضافه البته با نام. مثلا TcpServer

    در Form_Load صفحه این کد را اضافه کنید.

    TcpServer.LocalPort=1000
    TcpServer.Listen

    خط اول میگه پورد 1000 را برای من باز کن
    و خط دوم هم میگه چشم باز کردم



    Winsocet یک رویدادی دارد به نام ConnectionRequest زمانيکه که درخواستي از طرف Client مي آيد رويداد ConnectionRequest اجرا مي شود . در اين رويداد ابتدا بايد چک کنيدکه حالت کنترل بسته باشد . اگر چنين نيست اتصال را قبل از پذيرفتن اتصال جديد ببنديد . سپس تقاضا را بر اساسپارامتر requestID مي پذيريم

    If TcpServer.state <> sckClosed Then TcpServer.Close
    TcpServer.Accept requestID


    بعد از نوشتن کد اگر برنامه را ما اجرا کنیم اگر پیغامی نداد برنامه ارتباط ما با Client متصل است (البته هنوز الان Client را نگفتم)

    حال یک دکمه بر روی صفحه بگذارید و این کد را درون آن قرار دهید
    Tcpserver.SendData  InputBox("Chat", , "سلام خوبی")

    این کد اگر اتصال بر قرار باشد کلمه سلام را برای Client ارسال می کند.


    خب در ادامه به هر حال اگر ما چیزی برای Client ارسال می کنیم بلخره آن بنده خدا هم می خواهد چیزی به ما ارسال کند. خب باید چه کار کنیم.
    آهان

    Winsocet یک رویدادی هم دارد به نام DataArrival که اگر پیغامی و دستوری به Server رسید این بخش میگه چکار کنم
    خب شما یک تکس باکس بگذارید بر روی صفحه و در رویداد DataArrival در Winsocet این را بنویسید

    Private Sub tcpserver_DataArrival(ByVal bytesTotal As Long)
    Dim strData As String
    TcpServer.GetData strData
    Text1.Text = strData
    End Sub

    توضیح:
    خط اول که خودتون میدونی که فقط یک متغییر تعریف میکنه
    حال در اینجا اگر داده ای برسد به سرور می رود داخل TcpServer.GetData که ما هم اونو پاس میدم به متغییر strData و این بنده خدا هم strData را که حاوی متن رسید از Client است میریزه تو تکس باکس.

    تا اینجا سرور ما به صورت کامل در حد کوچک ساخته شد.
    و اگر خواسته اید که برنامه را ببنید این کد را در Form_Unload بنویسید . چون خب نیست که پورت بعد از تمام شدن کارمان باز باشد.

    Client


    و اما میریم سر کلاینت

    خب تا اینجا اگر همه ی کارها را مو به مو انجام دادید بریم سر کلاینت

    نکته ای که باید اینجا بگویم این است که ساختار کد ها و نوشته Server و Client یکی است فقط در 2 جا فرق دارد و شما اولا با خیال راحت یک پروژه جدید باز کنید و عینا/دقیقا کد ها و اشیاها را در پروژه جدید کپی کنید

    حال ان 2 جایی که باید تغییر بدهید این است
    1. Client هیچ نیازی به ConnectionRequest ندارد
    پس این کد را پاک کنید
    If TcpServer.state <> sckClosed Then TcpServer.Close
    TcpServer.Accept requestID


    و اما 2. وقتی که برنامه باز میشود باید با سرور ارتباط برقرار کند

    پس در صفحه Form_Load اون کدی را که نوشته اید پاک کنید و این کد را قرار دهید
    TcpClient.RemoteHost = "127.0.0.1"
    TcpClient.RemotePort = 1000
    TcpClient.Connect

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

    در اینجا به صورت کامل برنامه Client ما کامل تمام شد


    حال از 2 برنامه خروجی بگیرید و بعد از ان اول از همه Server را اجرا و بعد Client
    اکنون می توانید یک ارتباط ساده ای بدون باگ و خطا داشته باشید
    (و در آخر هم اگر مشکلی داشته اید در هر موقع از سال مثلا 5 سال بعد از این پست من جواب شما را میدهم)
    شادو پیروز و سربلند باشید.
    آخرین ویرایش به وسیله www.pc3enter.tk : دوشنبه 03 اردیبهشت 1397 در 09:21 صبح

  2. #2

    نقل قول: شبکه کردن 2 کامپیوتر با Winsock به شکل خیلی ساده و آسان (وحشتناک)

    سلام . ممنون از آموزش خوبتون . درسته بیشتر از پنج سال شده اما شاید جواب دادید از کلاینت به سرور متن میاد اما از سرور به کلاینت متنی ارسال نمیشه

تاپیک های مشابه

  1. سوال: روش شبكه كردن سه كامپيوتر با كابل و بيسيم در ويندوز 7
    نوشته شده توسط Ehsan Programmer در بخش تالار های مرتبط با شبکه و امنیت
    پاسخ: 3
    آخرین پست: دوشنبه 26 تیر 1391, 13:09 عصر
  2. سوال: شبکه کردن 2 کامپیوتر با یکدیگر از طریق اینترنت
    نوشته شده توسط iradata در بخش تالار های مرتبط با شبکه و امنیت
    پاسخ: 3
    آخرین پست: چهارشنبه 27 اردیبهشت 1391, 14:21 عصر
  3. سوال: شبکه کردن چند کامپیوتر با مودم adsl وایرلس
    نوشته شده توسط mohandesan در بخش شبکه و Networking‌
    پاسخ: 11
    آخرین پست: دوشنبه 19 دی 1390, 16:31 عصر
  4. شبکه کردن یک کامپیوتر با یک لپ تاب در منزل
    نوشته شده توسط expert2219 در بخش شبکه و Networking‌
    پاسخ: 6
    آخرین پست: چهارشنبه 06 بهمن 1389, 17:37 عصر
  5. شبکه کردن چند کامپیوتر با اشتراک اینترنت وایرلس
    نوشته شده توسط ali0276 در بخش شبکه و Networking‌
    پاسخ: 4
    آخرین پست: چهارشنبه 01 مهر 1388, 09:06 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •