在Java中,如何在不干扰的情况下监听端口上是否有流量?
我有一个通过UDP与某些硬件进行通信的java应用程序。但是,存在一种可以使用23982上的端口转发与硬件远程通信的传统产品。
这两个系统无法同时与硬件通信,因此我需要在端口23982上监听。如果端口上有任何流量(即传统软件正在主动连接到硬件) )我需要给遗留系统优先权。
因此我需要监听,但不要干扰从端口23982转发的流量
答案 0 :(得分:1)
我认为你想使用ServerSocket
。
答案 1 :(得分:1)
int port = 23982;
java.net.ServerSocket serverSocket = new java.net.ServerSocket(port);
java.net.Socket client = serverSocket.accept();
// blocks until there is a connection-request. So you can
// now handle your notification, because if the program reaches this part of code,
// a client has connected, e.g.:
boolean connected = true;
答案 2 :(得分:0)
只是打开端口,你正在干扰流量,行为将从“无法连接”改变,在一些超时后立即出现“服务器没有响应”。