PDA

View Full Version : سوالی در مورد برنامه نویسی شبکه در دات نت



sajjad_india
پنج شنبه 05 آبان 1390, 21:48 عصر
سلام وقته همتون بخیر
میخواستم در وی بی دات نت شبکه کنم .
ولی در وی بی 6 کامپوننت Winsock هست و چنتا دیگه که در دات نت مثل اینکه نیستن.
سواله بنده اینه در دات نت چه کامپوننت ها و کلاسهایی برای شبکه و برنامه نویسی شبکه وجود داره اگر برای دوستان مقدور میباشد هرکدوم رو بگن و توضیحی یک خطی یا مختصری در مورد آن.
تو سایت شرچ کردم چیزی دستگیرم نشد .
مرسی ممنون از شما دوستان عیزی و گرامی بخش دات نت :لبخندساده:

M.KH-SH
پنج شنبه 05 آبان 1390, 22:35 عصر
برای بخش سرور::


Imports System.Net
Imports System.Net.Sockets
Imports System.Text

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ip As IPEndPoint = New IPEndPoint(IPAddress.Any, 5050)
Dim client As Socket
Dim server As Socket = New Socket(ip.AddressFamily, SocketType.Stream, ProtocolType.Tcp)

server.Bind(ip)
server.Listen(Integer.MaxValue)
client = server.Accept
Dim rec(1024) As Byte
client.Receive(rec)
MsgBox(System.Text.ASCIIEncoding.ASCII.GetString(r ec))
End Sub
End Class


برای بخش کلاینت ::

Imports System.Net
Imports System.Net.Sockets
Imports System.Text

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ip As IPEndPoint = New IPEndPoint(IPAddress.Parse("192.168.1.2"), 5050)
Dim client As Socket = New Socket(ip.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
client.Connect(ip)
client.Send(System.Text.ASCIIEncoding.ASCII.GetByt es(TextBox1.Text))
client.Close()

End Sub
End Class


نحوه کار::

شما سرور رو run میکنی و بعد در بخش کلاینت (یک برنامه دیگه) یک تکست میزاری و متن ورودی رو وارد میکنی و بعد از وارد شدن متن و زدن دکمه اون متن در سرور به نمایش در میاد

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

arash020
جمعه 06 آبان 1390, 01:48 صبح
سلام
اینو ببین , چطوره؟

sajjad_india
جمعه 06 آبان 1390, 17:13 عصر
با تشکر از دو دوست عزیز و خوبم
مثلا کسی که واسه اولین بار تو دات نت میخواد اینا رو یاد بگیره نمیدونه که سورس شما چی هست .
مثلا

Imports System.NetImports System.Net.SocketsImports System.Text

و یا

Dim ip As IPEndPoint = New IPEndPoint(IPAddress.Parse("192.168.1.2"), 5050) Dim client As Socket = New Socket(ip.AddressFamily, SocketType.Stream, ProtocolType.Tcp)

از مقدمه امکان وجود داره برای شما دوستان که اینجا بگید ؟
اگر قابل بدونید ما رو

با تشکر از همه شما عزیزان :قلب:

sajjad_india
جمعه 06 آبان 1390, 17:15 عصر
Imports System.Net
Imports System.Net.Sockets
Imports System.Text


Dim ip As IPEndPoint = New IPEndPoint(IPAddress.Any, 5050) Dim client As Socket
Dim server As Socket = New Socket(ip.AddressFamily, SocketType.Stream, ProtocolType.Tcp)


Dim ip As IPEndPoint = New IPEndPoint(IPAddress.Parse("192.168.1.2"), 5050) Dim client As Socket = New Socket(ip.AddressFamily, SocketType.Stream, ProtocolType.Tcp)

sajjad_india
جمعه 06 آبان 1390, 17:16 عصر
یادم رفت بگم !!! Event های سوکت نویسی تو دات نت چی هستن ؟ کجا هستن ؟

M.KH-SH
جمعه 06 آبان 1390, 17:50 عصر
1
2
Dim ip As IPEndPoint = New IPEndPoint(IPAddress.Any, 5050) Dim client As Socket
Dim server As Socket = New Socket(ip.AddressFamily, SocketType.Stream, ProtocolType.Tcp)



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



Dim ip As IPEndPoint = New IPEndPoint(IPAddress.Parse("192.168.1.2"), 5050) Dim client As Socket = New Socket(ip.AddressFamily, SocketType.Stream, ProtocolType.Tcp)



در این قسمت هم برای کلاینت تعریف میشه که اپی سرور شماره فلان از کانال 5050 هست و بعد متغییر کلاینت رو که از نوع سوکت هست تعریف میکنیم

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

sajjad_india
شنبه 07 آبان 1390, 10:46 صبح
مرسی تشکر از شما
حالا کامپوننت های شبکه دات نت چیا هستن ؟
کلاس نه

sina_saravi1
شنبه 07 آبان 1390, 13:12 عصر
شما از خود کلاس های دات نت استفاده میکنی
در خط اول که نوشته بود :

Imports System.Net
Imports System.Net.Sockets
Imports System.Text

یعنی شما از کلاس های بالا که همشون تو نیم اسپیس سیستم هستن میخوای استفاده کنی
دیگه مثل ویبی 6 نیاز نیست کامپوننت اضافه کنی

Mr'Jamshidy
چهارشنبه 11 آبان 1390, 12:05 عصر
سلام

آقا ببخشید من پا برهنه پریدم وسط موضوع

این مثالی که شما زدید رو من امتحان کردم
مثال MSDN رو هم امتحان کردم اما تو هر دوشون یک مشکلی هست
--
تو وی بی 6 ما یک کنترل اضافه میکنیم و بهش یک آرایه میدیم و ... (دیگه ماشا... همتون بلدید)
و در آخرش به تعداد (حداکثر مقدار Integer) میتونیم کانکشن رو جوابگو باشیم

اما تو ویبی دات نت من هر کار که کردم برنامه به بیشتر از یک کانکشن جواب نمیده تا زمانی که برنامه بسته و دوباره باز بشه

واسه این مساله چه میشه کرد؟

M.KH-SH
چهارشنبه 11 آبان 1390, 16:43 عصر
دوست عزیز زمانی که یک پورت باز میشه (برای سور) شما میتونی هر مقدار کلاینت اتصال بدی ولی باید در نظر داشته باشی که همه دوستورات صادر شده از بخش کلاینت تو صف قرار میگین تا سرور بررسی کنه (صف انتظار برای دریافت پیام در سرور)

Mr'Jamshidy
چهارشنبه 11 آبان 1390, 17:53 عصر
دوست عزیز زمانی که یک پورت باز میشه (برای سور) شما میتونی هر مقدار کلاینت اتصال بدی ولی باید در نظر داشته باشی که همه دوستورات صادر شده از بخش کلاینت تو صف قرار میگین تا سرور بررسی کنه (صف انتظار برای دریافت پیام در سرور)

امکانش هست یک نمونه سورس برام بزاری؟ ((VB2010))

ahmadreza517
پنج شنبه 12 آبان 1390, 10:45 صبح
به نام تنها برنامه نویس هستی
سلام
به آدرس زیر برو چندتا Ebook هست هم به زبان
vb.net
C#‎
C++‎
دانلود کن(با هر کدوم که راحتی)
البته یکیشو دوستمون بالا قرار داده
http://howprg.blogfa.com (http://howprg.blogfa.com/)