Обработка библиотеки oscP5 - PullRequest
0 голосов
/ 06 апреля 2011

Я использую библиотеку oscP5 в обработке. Я уже искал в javadoc для oscP5, и я просмотрел источник, но я не могу понять это.

Когда я получаю отладочную информацию вот так: ### новый клиент @ netP5.TcpClient@2515

Что представляет собой значение 2515 ? Я знаю, что не порт, который использует клиент. Это уникальный идентификатор для клиента? Это переменная, к которой я могу получить доступ в классе TcpClient?

Спасибо.

1 Ответ

1 голос
/ 06 апреля 2011

Это адрес объекта (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 (как показано в примере).

...