2014-01-26 29 views
-1

我想用UDP在客戶端和服務器之間打開UDP通道。我有兩個問題。當我寫在java中打開UDP通道

DatagramSocket serverSocket = new DatagramSocket(port);; 

是通道打開還是它會在我開始發送時打開? 以及如何指定服務器的IP地址?

+0

UDP沒有通道。 – bmargulies

+0

UDP不像TCP,它是無連接協議。它也是一種不可靠的協議,因此您必須考慮到可能會丟失一些數據包的事件。 –

回答

0

DatagramSocket上的ServerSocket =新的DatagramSocket(端口);

構造一個數據報套接字並將其綁定到本地主機上的指定端口。

它不創建客戶端和服務器之間的通道。

當服務器開始偵聽時,客戶端可以發送udp數據包到這個udp端口號。

例如,如果你想UDP套接字綁定到以下方法

bindAddress =「192.148.1.0」的特定IP地址和端口號的使用;

DatagramSocket socket = new(bindPort,InetAddress.getByName(bindAddress));

+0

所以我必須在數據包中指定服務器地址? – user567

+0

編輯答案 –

+0

是的,當你想發送數據包到特定的udp端口時,將服務器地址和端口號寫入DatagramPacket。那是 –