簡體   English   中英

Java如何在不干擾的情況下偵聽端口上的流量

[英]Java how to listen for traffic on port without interfering

在Java中,如何偵聽端口上是否有任何流量而不會產生干擾?

我有一個Java應用程序,可以通過UDP與某些硬件進行通信。 但是,存在可以使用23982上的端口轉發與硬件進行遠程通信的舊產品。

這兩個系統無法同時與硬件通信,因此我需要偵聽端口23982。如果端口上有任何流量(即,舊版軟件正在主動連接到硬件),則需要給舊版系統優先。

因此,我需要偵聽但不干擾從端口23982轉發的流量

我認為您想使用ServerSocket

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;

只需打開您正在干擾流量的端口,行為就會從“無法連接”更改為“超時”,立即變為“服務器無響應”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM