[英]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.