سلام مجدد
...(ادامه پست قبل که جا نشد!)
برای ساخت یک نمونه Socket جدید نیاز به سه پارامتر داریم:
1) System.Net.Sockets.AddressFamily
2) System.Net.Sockets.SocketType
3) System.Net.Sockets.ProtocolType
1)
-پارامتر اول ساختار و نوع IP را مشخص میکنید که پرکاربرد ترین گزینه ها InterNetwork برای IPv4 و InterNetworkV6 برای IPv6 است.
کلاسس IPAddress هم یک ReadOnly Property با نام AddressFamily دارد، که میتوان از این مقدار برای این پارامتر اول ساخت Socket هم استفاده کرد.
2)
-پارامتر دوم نوع رد و بدل شدن و انتقال دیتا ها را توسط سوکت مشخص میکند. که برای بحث ما و تحت TCP/IP گزینه Stream را باید استفاده کنیم، این گزینه یک زنجیره اطلاعات را مشخص میکند.
احتمالاً باید بدانید Stream به چه مفهوم است، یک قطار دیتا، مثل نوارنقاله یک کارخانه که بسته های کالا رویش حرکت میکند.
به ذات بسته ها تکرار نمیشوند و قابلیت دسترسی به هر نقطه را هم ندارید، یک چیزی شبیه دانلود، که بایت به بایت را میگیرد و در هارد ذخیره میکنید.
3)
-پارامتر سوم و اخر هم پروتکل کاری را ست میکند، یک لایه استاندارد بالاتر.
پرکاربرترین گزینه ها هم Tcp و Udp هستند، که برای بحث ما فقط Tcp باید انتخواب شود.
باید توجه داشت که با ساخت Socket جدید هنوز هیچ اتفاق و وصل شدنی انجام نشده.
(سه دستور زیر برای ساخت سوکت جدید، نتیجه یکسانی دارند.)
'VB.Net
Dim ip As System.Net.IPAddress = System.Net.IPAddress.Parse("127.0.0.1")
Dim point As New System.Net.IPEndPoint(ip, 80)
Dim socket As New System.Net.Sockets.Socket(System.Net.Sockets.Addre ssFamily.InterNetwork, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp)
Dim socket As New System.Net.Sockets.Socket(ip.AddressFamily, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp)
Dim socket As New System.Net.Sockets.Socket(point.AddressFamily, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp)
//C#.Net
System.Net.IPAddress ip = System.Net.IPAddress.Parse("127.0.0.1");
System.Net.IPEndPoint point = new System.Net.IPEndPoint(ip, 80);
System.Net.Sockets.Socket socket = new System.Net.Sockets.Socket(System.Net.Sockets.Addre ssFamily.InterNetwork, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp)
System.Net.Sockets.Socket socket = new System.Net.Sockets.Socket(ip.AddressFamily, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp)
System.Net.Sockets.Socket socket = new System.Net.Sockets.Socket(point.AddressFamily, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp)