CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 463

463

Chương 11: Lập trình mạng

// một tiểu trình khác.

Thread handlerThread =

new Thread(new ThreadStart(handler.Start));

handlerThread.IsBackground = true;

handlerThread.Start();

// (Bạn cũng có thể thêm Handler và HandlerThread vào

// một tập hợp để theo dõi các phiên client.)

}catch (Exception err) {

Console.WriteLine(err.ToString());

}

}

}

}

Dưới đây là transcript phía server của một phiên làm việc với hai client:

Server: About to initialize port.

Server: Listening for a connection...

Server: Connection accepted.

Client 1: Connection completed.

Server: Connection accepted.

Client 2: Connection completed.

Client 2: Disconnect request received.

Client 2: Client connection closed.

Client 1: Disconnect request received.

Client 1: Client connection closed.

Bạn có thể thêm mã lệnh vào server để nó theo vết các đối tượng thợ hiện hành trong một tập
hợp. Làm như thế sẽ cho phép server hủy bỏ các tác vụ này nếu nó cần phải đóng và chỉ được
phép một số tối đa client cùng một lúc.

12.

12.

S d ng TCP m t cách b t đ ng b

ử ụ

ấ ồ

S d ng TCP m t cách b t đ ng b

ử ụ

ấ ồ

Bạn cần ghi dữ liệu ra network-stream từng khối một, mà không phải block
phần mã lệnh còn lại. Kỹ thuật này có thể được sử dụng nếu bạn muốn “stream”
một file lớn trên mạng.

Tạo một lớp riêng để xử lý kỹ thuật streaming bất đồng bộ. Bạn có thể bắt đầu
“stream” một khối dữ liệu bằng phương thức

NetworkStream.BeginWrite

và cung

cấp một phương thức callback. Khi callback được kích hoạt thì gửi khối kế tiếp.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.