469
Chương 11: Lập trình mạng
}
} while (text != "");
} catch (Exception err) {
Console.WriteLine(err.ToString());
}
Console.ReadLine();
}
private static void ReceiveData() {
UdpClient client = new UdpClient(localPort);
while (true) {
try {
// Nhận dữ liệu (byte).
IPEndPoint anyIP = new IPEndPoint(IPAddress.Any, 0);
byte[] data = client.Receive(ref anyIP);
// Chuyển byte thành text bằng phép mã hóa UTF8.
string text = Encoding.UTF8.GetString(data);
// Hiển thị text thu được.
Console.WriteLine(">> " + text);
} catch (Exception err) {
Console.WriteLine(err.ToString());
}
}
}
}
Chú ý rằng, các ứng dụng UDP không thể sử dụng
NetworkStream
như các ứng dụng TCP.
Thay vào đó, chúng phải chuyển tất cả dữ liệu thành một stream bằng một lớp mã hóa, như đã
được mô tả trong mục 2.2.
Bạn có thể thử nghiệm ứng dụng này với các client trên máy cục bộ bằng cách sử dụng hai
port khác nhau và địa chỉ loopback. Ví dụ, giả sử có hai UDP-client: client A và client B. Dưới
đây là transcript đối với client A:
Connect to IP: 127.0.0.1
Connect to port: 8001
Local port for listening: 8080