PDA

View Full Version : آموزش: آموزش Winsock



Restlesa
شنبه 19 تیر 1389, 12:44 عصر
سلام به همگي دوستان خوبه خودم.
من به دنبال فراگيري كنترل Winsock هستم.تو سايتم خيلي گشتم اما چيزي پيدا نكردم.
آيا كسي هست كه كار با Winsock بلد باشه ؟؟؟؟؟ :گریه::گریه::گریه::گریه:

FinalMOB
شنبه 19 تیر 1389, 21:30 عصر
سلام به همگي دوستان خوبه خودم.
من به دنبال فراگيري كنترل Winsock هستم.تو سايتم خيلي گشتم اما چيزي پيدا نكردم.
آيا كسي هست كه كار با Winsock بلد باشه ؟؟؟؟؟ :گریه::گریه::گریه::گریه:
با سلام
دوست عزيز، توي اكثر اين تاپيك هايي در قسمت شبكه وجود داره از WinSock استفاده شده، ولي به خاطر احترام گذاشتن به تاپيك شما و با اجازه مديران سايت، يه توضيح مختصري ميدم.

WinSock كنترليست براي ارتباط دو سيستم با هم از طريق IP و پورت. در اين كنترل، دو نوع متداول ارتباط يعني tcp و udp پشتيباني ميشه
tcp نسبت به udp امن تر بوده و به عبارتي در ارتباط tcp با ارسال هر بسته اطلاعات، يك ack (مانند همان delivery در sms) به فرستنده ارسال شده و صحت ارسال را تاييد مي نمايد.

خوب، براي ارتباط tcp بين دو طرف، حتما بايد يك طرف پورت خاصي را Listen كند و طرف ديگر از او درخواست ارتباط نمايد.

بنابراين؛
1) در قسمت Form_Load فرم اصلي در پروژه ي سرور اين دو خط كد را مي نويسيم:


Winsock1.LocalPort = 1000

Winsock1.Listen




2) حال يك دكمه به فرم اصلي در پروژه ي كلاينت اضافه كرده و اين كد را براي درخواست ارتباط درون آن مي نويسيم:


Winsock1.Connect "IPie server ra inja vared konid", 1000


3) با فشرده شدن دكمه فوق، درخواستي از سوي كلاينت به سرور فرستاده مي شود، براي قبول كردن اين درخواست بايد اين كد را در قسمت Winsock1_ConnectionRequest در پروژه سرور وارد نماييد:


Winsock1.Close
Winsock1.Accept requestID



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


Winsock1.SendData "matne khod ra vared konid"


در اين حالت، براي دريافت پيام در طرف مقابل، بايد اين قطعه كد را در قسمت Winsock1_DataArrival در پروژه ديگر وارد نماييد:


Dim Buffer As String
Winsock1.GetData Buffer, vbString
Print Buffer



اميدوارم مفيد واقع شده باشه، موفق باشيد.
يا حق

saelozahra
شنبه 14 دی 1392, 09:31 صبح
سلام
خسته نباشید
آقا خیلی عالی بود
کل انجمنو گشتم تا یه آموزش به این خوبی برا ما تازه کارا پیدا کردم
فقط یه سوالی
اون بخشی که نوشتین آی پی سرور را اینجا وارد کنید یعنی چه آی پی ای دقیقا ؟
اگه بخوام با خودم چت کنم ک ه باید 127.0.0.1 رو بزنم
ولی اگه بخوام با یه کامپیوتر در سطح اینترنت چت کنم باید چه آی پی ای وارد بشه؟
پیشاپیش ممنون از جوابتون

saeedhord
شنبه 14 دی 1392, 13:35 عصر
سلام
خسته نباشید
آقا خیلی عالی بود
کل انجمنو گشتم تا یه آموزش به این خوبی برا ما تازه کارا پیدا کردم
فقط یه سوالی
اون بخشی که نوشتین آی پی سرور را اینجا وارد کنید یعنی چه آی پی ای دقیقا ؟
اگه بخوام با خودم چت کنم ک ه باید 127.0.0.1 رو بزنم
ولی اگه بخوام با یه کامپیوتر در سطح اینترنت چت کنم باید چه آی پی ای وارد بشه؟
پیشاپیش ممنون از جوابتون

با سلام شما باید اول یه فایل سرور درست کنید که برای کسی که میخوایید باهاش ارتباط برقرار کنید بفرستید سپس ای پی اون طرف رو بزنید

saelozahra
یک شنبه 15 دی 1392, 07:22 صبح
با سلام شما باید اول یه فایل سرور درست کنید که برای کسی که میخوایید باهاش ارتباط برقرار کنید بفرستید سپس ای پی اون طرف رو بزنید
دمت گرم داداش
فقططططططططططط :D
فایل سرور که گفتی یعنی چی چی ؟ :d
یعنی باید نرم افزار رو رو سرورم آپلود کنم؟