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