[英]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.