从stdin读取并使用UDP发送,创建双向通信

时间:2015-09-13 13:05:56

标签: java sockets udp

我有下面的代码创建一个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());
        }
    }
}

0 个答案:

没有答案