Các giải pháp lập trình CSharp- P57: Các giải pháp lập trình C# khảo sát chiều rộng của thư viện lớp .NET Framework và cung cấp giải pháp cụ thể cho các vấn đề thường gặp. Mỗi giải pháp được trình bày theo dạng “vấn đề/giải pháp” một cách ngắn gọn và kèm theo là các ví dụ mẫu. | 451 Chương 11 Lập trình mạng Bỏ qua phương thức private dùng để tính checksum. public class IcmpPacket public byte Type public byte SubCode public UInt16 Checksum public UInt16 Identifier public UInt16 SequenceNumber public byte Data Bạn có thể sử dụng phương thức tĩnh với một địa chỉ IP hay một tên miền. Phương thức GetPingTime trả về lượng mili-giây trôi qua trước khi một đáp ứng được tiếp nhận. Dưới đây là đoạn mã thử nghiệm trên ba website public class PingTest private static void Main Milliseconds to contact .ToString Milliseconds to contact .ToString Milliseconds to contact the local computer .ToString Thử nghiệm ping cho phép bạn xác minh các máy tính khác có online hay không. Nó cũng có thể hữu ích khi ứng dụng của bạn cần đánh giá những máy tính khác nhau ở xa nhưng cho cùng nội dung để xác định máy nào có thời gian giao tiếp mạng thấp nhất. Một yêu cầu ping có thể không thành công nếu bị firewall ngăn lại. Ví dụ nhiều site bỏ qua yêu cầu ping vì sợ bị sa vào một luồng ping cùng một lúc sẽ làm cản trở server thực chất là một tấn công từ chối dịch vụ . 452 Chương 11 Lập trình mạng 8. Çiao tiếp bằng TCP ỉ Bạn cần gửi dữ liệu giữa hai máy tính trên một network bằng kết nối TCP IP. Một máy tính server phải lắng nghe bằng lớp . Mỗi khi một kết nối được thiết lập cả hai máy tính đều có thể giao tiếp bằng lớp . TCP là một giao thức đáng tin cậy dựa-trên-kết-nối cho phép hai máy tính giao tiếp thông qua một network. Để tạo một kết nối TCP một máy tính phải đóng vai trò là server và bắt đầu lắng nghe trên một endpoint cụ thể endpoint được định nghĩa là một địa chỉ IP cho biết máy tính và số port . Một máy tính khác phải đóng vai trò là client và gửi một yêu cầu kết nối đến endpoint mà máy tính thứ .