我們想捕捉它涉及到系統端口的數據說,7777的Java偵聽端口
public static void main(String[] args) {
try {
final ServerSocket serverSocket = new ServerSocket(7777);
new Thread("Device Listener") {
public void run() {
try {
System.out.println("Listener Running . . .");
Socket socket = null;
while ((socket = serverSocket.accept()) != null) {
System.out.println("| Incoming : "+ socket.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
};
}.start();
} catch (Exception ex) {
ex.printStackTrace();
}
}
我們必須將數據發送到端口7777,它配備了原生的Windows應用程序的設備。 Windows本機應用程序正在接收來自該設備的數據。我們必須通過我們的java項目在端口7777上接收這些數據。創建
在上面的代碼,
Java服務器套接字,但沒有傳入連接從該設備接收。
Java服務器套接字接收來自telnet命令的連接。
其中使用由所述設備和所述其他本機應用程序可以是不同的數據格式,但它ATLEAST必須被從Java服務器套接字連接。這是對的嗎?
如何接收被傳輸到端口的數據7777。
編輯:
OK時,數據被接收與UDP套接字。它的長度是68。設備文檔沒有指定捕獲這些數據的任何方法,因爲它可能被設計爲與指定的應用程序一起工作。我們也無法聯繫製造商。有什麼方法(如果可能)知道傳入字節的格式。我們嘗試過網絡嗅探器,但我們無法理解格式。
感謝它是UDP端口 – user2463026
@ user2463026因此,如果它是一個UDP端口,你爲什麼要使用TCP'ServerSocket'? – EJP
不,後來我用'DatagramSocket'套接字更改了我的代碼。 – user2463026