Lập trình Mạng Microsoft .NET Framework phần 1
Số trang: 7
Loại file: pdf
Dung lượng: 181.52 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Lập trình Mạng Microsoft .NET Framework bao gồm một tập các lớp dùng để lập trình mạng thuộc hai không gian tên: System.Net và System.Net.Sockets
Nội dung trích xuất từ tài liệu:
Lập trình Mạng Microsoft .NET Framework phần 1Chương 11 : Lập trình MạngMicrosoft .NET Framework bao gồm một tập các lớp dùng để lập trình mạng thuộc haikhông gian tên: System.Net và System.Net.Sockets. Các lớp này hỗ trợ mọi thứ, từ lậptrình dựa-trên-socket với TCP/IP cho đến download file và trang HTML từ web thôngqua HTTP. Hai không gian tên này cũng là nền tảng cho hai nền networking cấp caohơn—Remoting và dịch vụ Web XML. Hai nền này sẽ được đề cập chi tiết trong chương12. Chương này sẽ trình bày các vấn đề sau: Lấy tài nguyên từ web thông qua HTTP (mục 11.1, 11.2, và 11.3). Hiển thị một trang web trong một ứng dụng dựa-trên-Windows bằng điều kiểm Web Browser (mục 11.4). Lấy địa chỉ IP và thông tin DNS về máy tính hiện hành và các miền khác trên World Wide Web (mục 11.5 và 11.6). Gửi thông điệp “ping” (mục 11.7) và giao tiếp bằng giao thức TCP và UDP (mục 11.8 đến 11.13). Gửi và nhận e-mail (mục 11.14 và 11.15). 1.1 Download file thông qua HTTP Bạn cần một cách thật nhanh và đơn giản để download một file từ một website thông qua HTTP. Sử dụng phương thức tĩnh DownloadFile của lớp System.Net.WebClient..NET Framework cung cấp vài cơ chế dùng để gửi dữ liệu thông qua HTTP. Một trongnhững cách dễ nhất là sử dụng lớp System.Net.WebClient. Nó cung cấp những phươngthức mức-cao như DownloadFile và UploadFile. Các phương thức này không có sự hỗtrợ nội tại nào cho giao tiếp bất đồng bộ, hay xác thực. Nếu cần các tính năng này, bạn cóthể sử dụng các chức năng phức tạp hơn do lớp WebRequest và WebResponse cung cấp(sẽ được mô tả trong mục 11.2 và 11.3).Chương trình ví dụ dưới đây sẽ download file winXP.gif từ localhost và lưu vào đĩa.using System;using System.Net;using System.IO;public class Download { private static void Main() { string remoteUri = http://localhost/winXP.gif; string localFileName = winXP.gif; WebClient client = new WebClient(); Console.WriteLine(Downloading file + remoteUri + to + Path.GetFullPath(localFileName)); // Thực hiện download. client.DownloadFile(remoteUri, localFileName); Console.WriteLine(Download complete.); Console.ReadLine(); }} 1.2 Download và xử lý file bằng stream Bạn cần lấy một file từ một website, nhưng không muốn lưu trực tiếp vào đĩa. Thay vào đó, bạn muốn xử lý ngay trong ứng dụng của mình. Sử dụng lớp WebRequest để tạo yêu cầu, lớp WebResponse để nhận đáp ứng từ web-server, và một số dạng reader (StreamReader đối với dữ liệu HTML hay text, hoặc BinaryReader đối với dữ liệu nhị phân) để phân tích đáp ứng đó.Download một file cần bốn bước cơ bản sau: 1. Sử dụng phương thức tĩnh Create của lớp System.Net.WebRequest để chỉ định trang bạn cần. Phương thức này trả về một đối tượng dẫn xuất từ WebRequest, phụ thuộc vào kiểu Uniform Resource Identifier (URI) bạn sử dụng. Ví dụ, nếu tài nguyên là HTTP (với cụm từ http://), nó sẽ tạo ra đối tượng HttpWebRequest; nếu tài nguyên là file (với cụm từ file://), nó sẽ tạo ra đối tượng FileWebRequest. Bạn có thể thiết lập thời gian trễ thông qua thuộc tính WebRequest.Timeout. 2. Sử dụng phương thức GetResponse của đối tượng WebRequest, phương thức này trả về một đối tượng WebResponse cho trang. Nếu yêu cầu vượt qua thời gian trễ thì ngoại lệ WebException sẽ bị ném. 3. Tạo một StreamReader hoặc một BinaryReader cho WebResponse. 4. Công việc cuối cùng là xử lý stream này, chẳng hạn ghi nó ra file rồi hiển thị trong ứng dụng của bạn...Đoạn mã dưới đây sẽ lấy và hiển thị một file ảnh và nội dung HTML của một trang web.using System;using System.Net;using System.IO;using System.Drawing;using System.Windows.Forms;public class DownloadForm : System.Windows.Forms.Form { private System.Windows.Forms.PictureBox picBox; private System.Windows.Forms.TextBox textBox; // (Bỏ qua phần mã designer.) private void DownloadForm_Load(object sender, System.EventArgs e) { string picUri = http://localhost/winXP.gif; string htmlUri = http://localhost/iishelp/iis/misc/default.asp; // Tạo yêu cầu. WebRequest requestPic = WebRequest.Create(picUri); WebRequest requestHtml = WebRequest.Create(htmlUri); // Nhận đáp ứng. Công việc này sẽ mất nhiều // thời gian, đặc biệt khi file cần lấy quá lớn. WebResponse responsePic = requestPic.GetResponse(); WebResponse responseHtml = requestHtml.GetResponse(); // Đọc response stream. Image downloadedImage = Image.FromStream(responsePic.GetResponseStream()); StreamReader r = new StreamReader(responseHtml.GetResponseStream()); string htmlContent = r.ReadToEnd(); r.Close(); // Hiển thị ảnh. picBox.Image = downloadedImage; // H ...
Nội dung trích xuất từ tài liệu:
Lập trình Mạng Microsoft .NET Framework phần 1Chương 11 : Lập trình MạngMicrosoft .NET Framework bao gồm một tập các lớp dùng để lập trình mạng thuộc haikhông gian tên: System.Net và System.Net.Sockets. Các lớp này hỗ trợ mọi thứ, từ lậptrình dựa-trên-socket với TCP/IP cho đến download file và trang HTML từ web thôngqua HTTP. Hai không gian tên này cũng là nền tảng cho hai nền networking cấp caohơn—Remoting và dịch vụ Web XML. Hai nền này sẽ được đề cập chi tiết trong chương12. Chương này sẽ trình bày các vấn đề sau: Lấy tài nguyên từ web thông qua HTTP (mục 11.1, 11.2, và 11.3). Hiển thị một trang web trong một ứng dụng dựa-trên-Windows bằng điều kiểm Web Browser (mục 11.4). Lấy địa chỉ IP và thông tin DNS về máy tính hiện hành và các miền khác trên World Wide Web (mục 11.5 và 11.6). Gửi thông điệp “ping” (mục 11.7) và giao tiếp bằng giao thức TCP và UDP (mục 11.8 đến 11.13). Gửi và nhận e-mail (mục 11.14 và 11.15). 1.1 Download file thông qua HTTP Bạn cần một cách thật nhanh và đơn giản để download một file từ một website thông qua HTTP. Sử dụng phương thức tĩnh DownloadFile của lớp System.Net.WebClient..NET Framework cung cấp vài cơ chế dùng để gửi dữ liệu thông qua HTTP. Một trongnhững cách dễ nhất là sử dụng lớp System.Net.WebClient. Nó cung cấp những phươngthức mức-cao như DownloadFile và UploadFile. Các phương thức này không có sự hỗtrợ nội tại nào cho giao tiếp bất đồng bộ, hay xác thực. Nếu cần các tính năng này, bạn cóthể sử dụng các chức năng phức tạp hơn do lớp WebRequest và WebResponse cung cấp(sẽ được mô tả trong mục 11.2 và 11.3).Chương trình ví dụ dưới đây sẽ download file winXP.gif từ localhost và lưu vào đĩa.using System;using System.Net;using System.IO;public class Download { private static void Main() { string remoteUri = http://localhost/winXP.gif; string localFileName = winXP.gif; WebClient client = new WebClient(); Console.WriteLine(Downloading file + remoteUri + to + Path.GetFullPath(localFileName)); // Thực hiện download. client.DownloadFile(remoteUri, localFileName); Console.WriteLine(Download complete.); Console.ReadLine(); }} 1.2 Download và xử lý file bằng stream Bạn cần lấy một file từ một website, nhưng không muốn lưu trực tiếp vào đĩa. Thay vào đó, bạn muốn xử lý ngay trong ứng dụng của mình. Sử dụng lớp WebRequest để tạo yêu cầu, lớp WebResponse để nhận đáp ứng từ web-server, và một số dạng reader (StreamReader đối với dữ liệu HTML hay text, hoặc BinaryReader đối với dữ liệu nhị phân) để phân tích đáp ứng đó.Download một file cần bốn bước cơ bản sau: 1. Sử dụng phương thức tĩnh Create của lớp System.Net.WebRequest để chỉ định trang bạn cần. Phương thức này trả về một đối tượng dẫn xuất từ WebRequest, phụ thuộc vào kiểu Uniform Resource Identifier (URI) bạn sử dụng. Ví dụ, nếu tài nguyên là HTTP (với cụm từ http://), nó sẽ tạo ra đối tượng HttpWebRequest; nếu tài nguyên là file (với cụm từ file://), nó sẽ tạo ra đối tượng FileWebRequest. Bạn có thể thiết lập thời gian trễ thông qua thuộc tính WebRequest.Timeout. 2. Sử dụng phương thức GetResponse của đối tượng WebRequest, phương thức này trả về một đối tượng WebResponse cho trang. Nếu yêu cầu vượt qua thời gian trễ thì ngoại lệ WebException sẽ bị ném. 3. Tạo một StreamReader hoặc một BinaryReader cho WebResponse. 4. Công việc cuối cùng là xử lý stream này, chẳng hạn ghi nó ra file rồi hiển thị trong ứng dụng của bạn...Đoạn mã dưới đây sẽ lấy và hiển thị một file ảnh và nội dung HTML của một trang web.using System;using System.Net;using System.IO;using System.Drawing;using System.Windows.Forms;public class DownloadForm : System.Windows.Forms.Form { private System.Windows.Forms.PictureBox picBox; private System.Windows.Forms.TextBox textBox; // (Bỏ qua phần mã designer.) private void DownloadForm_Load(object sender, System.EventArgs e) { string picUri = http://localhost/winXP.gif; string htmlUri = http://localhost/iishelp/iis/misc/default.asp; // Tạo yêu cầu. WebRequest requestPic = WebRequest.Create(picUri); WebRequest requestHtml = WebRequest.Create(htmlUri); // Nhận đáp ứng. Công việc này sẽ mất nhiều // thời gian, đặc biệt khi file cần lấy quá lớn. WebResponse responsePic = requestPic.GetResponse(); WebResponse responseHtml = requestHtml.GetResponse(); // Đọc response stream. Image downloadedImage = Image.FromStream(responsePic.GetResponseStream()); StreamReader r = new StreamReader(responseHtml.GetResponseStream()); string htmlContent = r.ReadToEnd(); r.Close(); // Hiển thị ảnh. picBox.Image = downloadedImage; // H ...
Tìm kiếm theo từ khóa liên quan:
công nghệ thông tin kĩ thuật lập trình ngôn ngữ lập trình ngôn ngữ C# C# Lập trình Mạng Microsoft .NET Framework phần 1Gợi ý tài liệu liên quan:
-
52 trang 413 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 293 0 0 -
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 287 0 0 -
74 trang 277 0 0
-
96 trang 277 0 0
-
Tài liệu dạy học môn Tin học trong chương trình đào tạo trình độ cao đẳng
348 trang 265 1 0 -
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 262 0 0 -
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 258 0 0 -
EBay - Internet và câu chuyện thần kỳ: Phần 1
143 trang 253 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 247 0 0