0

ProcessingでoscP5ライブラリを使用しています。私は既に oscP5 の javadoc を調べ、ソースを参照しましたが、わかりません。

次のようなデバッグ情報を取得すると: ### new Client @ netP5.TcpClient@2515

2515は何を表していますか? クライアントが使用しているポートではないことはわかっています。クライアントの一意のIDですか?TcpClient クラスでアクセスできる変数ですか?

ありがとう。

4

1 に答える 1

1

これは、メモリ内のオブジェクト (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 オブジェクトとそのメンバーにアクセスできます。ここでは簡単にするために、clients リストの最初のオブジェクトを見ていると仮定します。

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 に含まれていることに注意してください (例に示すように)。

于 2011-04-06T13:22:14.427 に答える