Gỡ rối trong lập trình mạng

Một phần của tài liệu LẬP TRÌNH MẠNG NGHỀ: QUẢN TRỊ MẠNG MÁY TÍNH (Trang 49 - 50)

Mục tiêu: Sử dụng các lệnh phù hợp với cú pháp lập trình Sockets để gỡ

rối trong quá trình cài đặt các ứng dụng mạng.

Kết nối mạng có thể bị ngắt do có ứng dụng khác đã chiếm dụng cổng mà chúng ta muốn sử dụng. Do đó phương thức Connect hoặc Listen không phải

bao giờ cũng được thực hiện thành công. Do đó, sử dụng cấu trúc bắt lỗi

try/catch trong lập trình mạng là cần thiết.

Ví dụ: try { serverSocket.Bind(ipepServer); serverSocket.Listen(-1); } catch(SocketException e) { MessageBox.Show(e.Message); } catch(Exception e) {MessageBox.Show(e.Message); Application.Exit(); } Application.Exit() End try

Vấn đề nữa hay gặp trong các ứng dụng mạng là khả năng mở rộng. Đây

là khả năng đáp ứng của ứng dụng với số lượng kết nối lớn trong cùng một thời điểm. Để thử nghiệm, chúng ta có thể kích chuột nhiều lần vào nút Connect hoặc

Send trên ứng dụng client để xem chương trình có thể bị đứng do hết bộ nhớ,

ngắt giữa chừng, rớt kết nối hay vẫn hoạt động tốt. Để phát hiện ra lỗi của những ứng dụng mạng đa luồng, chúng ta sử dụng lớp System. Diagnostics.Trace, hoặc

là câu lệnh Console.WriteLine ở phương thức vào hoặc thoát của chương trình.

Đối với các ứng dụng mạng có giao tiếp với một ứng dụng được phân

phối bởi hãng thứ 3, việc kiểm tra lỗi giữa client và server trở nên khó khăn hơn, đặc biệt khi mà giao thức và cổng kết nối không được tiết lộ hoặc được mô tả đầy đủ. Trong trường hợp này, việc trước tiên chúng ta cần phải làm là kiểm tra

xem những cổng nào đang hoạt động. Công cụ hữu ích để làm việc này là

netstat. Để mở netstat, chúng ta gõ netstat vào trong dấu nhắc lệnh hoặc vào run. Xem hình sau

Netstat liệt kê tất cả các kết nối vào/ra trên máy tính tại thời điểm hiện tại

cộng với số cổng tương ứng. Dùng phương pháp đối chiếu khi chạy và tắc chương trình để tìm ra cổng mà chương trình sử dụng. Việc xác định cổng của ứng dụng là bước đầu tiên để can thiệp vào trong giao thức, để phân tích từng bit và byte được gởi qua lại giữa hai ứng dụng chúng ta cần sử dụng các công cụ

phân tích khác ví dụ Trace Plus ( www.sstinc.com).

Một phần của tài liệu LẬP TRÌNH MẠNG NGHỀ: QUẢN TRỊ MẠNG MÁY TÍNH (Trang 49 - 50)