.NET Framework มีการนำเสนอบริการเครือข่ายที่เป็น Managed Code แบบชั้นๆ (Layered) และขยายได้ ใช้ผ่านเนมสเปซ System.Net
คลาสสำคัญใน System.Net
1. Uri - แทนที่อยู่ทรัพยากรแบบเอกภาพ
Uri uri = new Uri("https://www.example.com/");
WebRequest request = WebRequest.Create(uri);
2. WebRequest / WebResponse - ฐานของการร้องขอ/ตอบสนอง HTTP
รองรับโปรโตคอล HTTP, HTTPS, FTP, File
3. การเข้ารหัส SSL/TLS
- URI เริ่มต้น
https://→ ใช้ SSL อัตโนมัติ - URI เริ่มต้น
https://→ การเชื่อมต่อไม่เข้ารหัส - FTP ใช้ SSL: ตั้งค่า
EnableSsl = trueก่อนเรียกGetResponse()
string uri = "https://www.example.com/";
WebRequest w = WebRequest.Create(uri);
string ftpUri = "ftp://ftp.example.com/new.txt";
FtpWebRequest ftp = (FtpWebRequest)WebRequest.Create(ftpUri);
ftp.EnableSsl = true;
ftp.Method = WebRequestMethods.Ftp.DeleteFile;
4. Dns - การแก้ไขชื่อโฮสต์
using System;
using System.Net;
class Program {
static void Main() {
string hostName = Dns.GetHostName();
Console.WriteLine("Hostname: " + hostName);
IPHostEntry hostEntry = Dns.GetHostEntry(hostName);
IPAddress[] addresses = hostEntry.AddressList;
for (int i = 0; i < addresses.Length; i++) {
Console.WriteLine("IP Address {0}: {1}", i, addresses[i]);
}
Console.ReadLine();
}
}
คลาสยอดนิยมใน System.Net
| คลาส | หน้าที่ |
|---|---|
HttpClient | HTTP client แบบทันสมัย (แนะนำสำหรับ .NET Core/5+) |
WebClient | Simple HTTP/FTP operations (Legacy) |
TcpClient/TcpListener | TCP socket communication |
UdpClient | UDP communication |
ServicePointManager | จัดการการเชื่อมต่อ HTTP/HTTPS |
แนวทางปฏิบัติสมัยใหม่
สำหรับ .NET Core / .NET 5+ แนะนำใช้ HttpClient และ System.Net.Http แทน WebRequest ซึ่งเป็น Legacy API