[英]UDP socket programing in java
此示例代碼如下所示:
public class UDPServer
{
enter code here
/**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
DatagramSocket serverSocket=new DatagramSocket(9876);
byte[] receiveData=new byte[1024];
byte[] sendData=new byte[1024];
while(true)
{
DatagramPacket receivePacket=new DatagramPacket(receiveData, receiveData.length);
String sentence=new String(receivePacket.getData());
InetAddress IPAddress=receivePacket.getAddress();
int port=receivePacket.getPort();
String capitalizedSentennce=sentence.toUpperCase();
sendData=capitalizedSentennce.getBytes();
DatagramPacket sendPacket=new DatagramPacket(sendData, sendData.length,IPAddress,port);
serverSocket.send(sendPacket);
}
}
}
執行時出現以下錯誤:
Exception in thread "main" java.lang.IllegalArgumentException: Port out of range:-1
at java.net.DatagramPacket.setPort(Unknown Source)
at java.net.DatagramPacket.<init>(Unknown Source)
at java.net.DatagramPacket.<init>(Unknown Source)
at UDPServer.main(UDPServer.java:21)
有人可以幫我解決嗎? 此外,如果可能,請提供更多信息,為什么會發生這種情況。
您忘記在receivePacket.
接收任何receivePacket.
所以那里什么都沒有。 沒有端口號,沒有源地址,沒有數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.