我正在编写一个 UDP 网络程序(客户端 - 服务器),我遇到了一些麻烦。
我想对 I/O 数据使用流,所以我用谷歌搜索“udp inputstream”并找到UDPInputStream和UDPOutputStream。但是,当我尝试使用这些时,程序在尝试初始化 UDPOutputStream 时卡住了。
这是我的代码中冻结的行:
outStream = new UDPOutputStream(InetAddress.getByName("127.0.0.1"), port);
System.out.println("UDP output stream initialized."); // <-- doesn't get called
我检查了 UDPOutputStream 的来源,代码卡在这一行:
dsock = new DatagramSocket();
为什么执行会挂在这条线上?在服务器端,我仍然使用我的“旧”、非流版本的简单 UDP 代码,它可以工作。套接字以相同的方式初始化并且它不会挂断。我试图在初始化时输入一个端口号,但它并没有解决问题。