Java如何在不干扰的情况下监听端口上的流量

时间:2015-06-05 12:58:08

标签: java port

在Java中,如何在不干扰的情况下监听端口上是否有流量?

我有一个通过UDP与某些硬件进行通信的java应用程序。但是,存在一种可以使用23982上的端口转发与硬件远程通信的传统产品。

这两个系统无法同时与硬件通信,因此我需要在端口23982上监听。如果端口上有任何流量(即传统软件正在主动连接到硬件) )我需要给遗留系统优先权。

因此我需要监听,但不要干扰从端口23982转发的流量

3 个答案:

答案 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)

只是打开端口,你正在干扰流量,行为将从“无法连接”改变,在一些超时后立即出现“服务器没有响应”。