我有下面的代码创建一个UDP样式的套接字。我运行并编译代码,它工作得很好。如果我然后使用" netcat -u"我能够将消息从客户端发送到服务器,但不是相反。所以我想要的和我一直想要的是从stdin读取并打印它(所有这些都在第二个线程中运行)。使其成为双向沟通。有人知道我需要修理什么吗?提前谢谢。
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class NetcatUDP {
public static void main(String[] args) throws IOException {
int port = Integer.parseInt(args[0]);
byte[] buffer = new byte[65536];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
DatagramSocket socket = new DatagramSocket(port);
new Thread() {
@Override
public void run() {
// Read from stdin and send somehow?
}
}.start();
while (true) {
socket.receive(packet);
System.out.println(new String(packet.getData()).trim());
}
}
}