通过 Java 套接字侦听端口
我的客户端与之通信的服务器软件定期在端口 4000 上发送事务消息。我需要将这些消息逐行打印到控制台。(最终,我将不得不将这些值写入表,但我将其保存以供以后使用。
我尝试了这段代码,但它没有输出任何东西:
package merchanttransaction;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.lang.ClassNotFoundException;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
public class MerchantTransaction {
public static void main(String[] args) {
try {
InetAddress host = InetAddress.getLocalHost();
Socket socket = new Socket("192.168.1.104", 4000);
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
String message = (String) ois.readObject();
System.out.println("Message: " + message);
ois.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
顺便说一句,我需要能够监视该端口,直到程序终止。我不确定上面的代码是否能够做到这一点,因为我没有看到代码的任何迭代。
我使用的是在Ubuntu上运行的Java版本1.6.0_24,SE运行时环境(build 1.6.0_24-b07)。