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

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

// Tạo BinaryReader để đọc từ stream.

BinaryReader r = new BinaryReader(stream);

if (r.ReadString() == ClientMessages.RequestConnect) {

w.Write(ServerMessages.AcknowledgeOK);

Console.WriteLine("Connection completed.");

while (r.ReadString() != ClientMessages.Disconnect)

{}

Console.WriteLine();

Console.WriteLine("Disconnect request received.");

w.Write(ServerMessages.Disconnect);

} else {

Console.WriteLine("Could not complete connection.");

}

// Đóng socket.

client.Close();

Console.WriteLine("Connection closed.");

// Đóng socket nằm dưới (ngừng lắng nghe yêu cầu mới).

listener.Stop();

Console.WriteLine("Listener stopped.");

} catch (Exception err) {

Console.WriteLine(err.ToString());

}

Console.ReadLine();

}

}

Đoạn mã dưới đây là một khuôn dạng cho một TCP-client cơ bản. Nó tiếp xúc với server tại
địa chỉ IP và port được chỉ định. Trong ví dụ này, địa chỉ loopback (

127.0.0.1

—chỉ đến máy

tính hiện hành) được sử dụng. Nhớ rằng kết nối TCP yêu cần hai port: một tại server và một