0
我在處理中使用oscP5庫。我已經瀏覽了javadoc中的oscP5,並且瀏覽了源代碼,但我無法弄清楚。處理oscP5庫
當我得到這樣的調試信息: ###新客戶@ [email protected]
什麼是價值代表什麼?我知道它是而不是客戶端正在使用的端口。它是客戶的唯一ID嗎?它是我可以在TcpClient類中訪問的變量嗎?
謝謝。
我在處理中使用oscP5庫。我已經瀏覽了javadoc中的oscP5,並且瀏覽了源代碼,但我無法弄清楚。處理oscP5庫
當我得到這樣的調試信息: ###新客戶@ [email protected]
什麼是價值代表什麼?我知道它是而不是客戶端正在使用的端口。它是客戶的唯一ID嗎?它是我可以在TcpClient類中訪問的變量嗎?
謝謝。
它是內存中的對象(TcpClient)地址。您在 的src/netP5/AbstractTcpServer.java
TcpClient t = new TcpClient(this, _myServerSocket.accept(),
_myTcpPacketListener, _myPort, _myMode);
if (NetP5.DEBUG) {
System.out.println("### new Client @ " + t);
}
這意味着找到源代碼,您的號碼是的TcpClient的字符串表示。由於沒有任何東西被實現來返回它 - 它的默認行爲:對象地址。您可以訪問此TcpClient對象及其成員,如下面的示例所示。我假設這裏是簡單的,我們看看客戶列表中的第一個對象。
if (oscP5tcpServer.tcpServer().getClients().length>0) {
TcpClient tcpClient = (TcpClient)oscP5tcpServer.tcpServer().getClient(0);
print (tcpClient); // address - same as your printed output
print (tcpClient.netAddress()); // string with "ip:port"
print (tcpClient.socket()); // Socket object
}
請注意,大部分有趣的信息都包含在基礎對象AbstractTcpClient中(如示例所示)。
我已經看過TcpClient.java,並且找不到任何數字來自哪裏。我將如何訪問進程的ID變量? – 2011-04-06 17:57:45
好吧,我已經深入瞭解。它不是線程ID,而是對象(TcpClient)地址。您可以獲取有關TcpClient的信息。我會相應地改變我的答案。 – razong 2011-04-07 02:04:27