大家好我是java的新手,我正在尝试datagramsocket发送和接收数据包。我的客户端正在发送数据包,但服务器没有收到。
请帮助我,提前致谢。
我的客户端代码如下:
outString = "Hello World"
InetAddress hostAddress = InetAddress.getByName("localhost");
buf = outString.getBytes();
DatagramPacket out = new DatagramPacket(buf, buf.length, hostAddress, 4002);
s.send(out);
我的服务器端代码是:
DatagramSocket sk = new DatagramSocket(PORT);
DatagramPacket dgp = new DatagramPacket(buf, buf.length);
sk = new DatagramSocket(PORT); //PORT is 4002
while (true) {
sk.receive(dgp);
String rcvd = new String(dgp.getData(), 0, dgp.getLength()) + ", from address: "
+ dgp.getAddress() + ", port: " + dgp.getPort();
System.out.println(rcvd);
}
答案 0 :(得分:0)
此示例适用于我
public static void main(String[] args) throws IOException {
if (args.length == 0) {
byte[] buf = new byte[128];
DatagramPacket dgp = new DatagramPacket(buf, buf.length);
DatagramSocket sk = new DatagramSocket(PORT); //PORT is 4002
while (true) {
sk.receive(dgp);
String rcvd = new String(dgp.getData(), 0, dgp.getLength()) + ", from address: "
+ dgp.getAddress() + ", port: " + dgp.getPort();
System.out.println(rcvd);
}
} else {
String outString = "Hello World";
InetAddress hostAddress = InetAddress.getByName("localhost");
byte[] buf = outString.getBytes();
DatagramPacket out = new DatagramPacket(buf, buf.length, hostAddress, 4002);
DatagramSocket s = new DatagramSocket();
s.send(out);
}
}