code: private void requestPlayerDBServerPort(DeviceAnnouncement announcement) {
          Socket socket = null;
          try {
              InetSocketAddress address = new InetSocketAddress(announcement.getAddress(), DB_SERVER_QUERY_PORT);
              socket = new Socket();
              socket.connect(address, socketTimeout.get());
              InputStream is = socket.getInputStream();
              OutputStream os = socket.getOutputStream();
              socket.setSoTimeout(socketTimeout.get());
              os.write(DB_SERVER_QUERY_PACKET);
              byte[] response = readResponseWithExpectedSize(is, 2, "database server port query packet");
              if (response.length == 2) {
                  setPlayerDBServerPort(announcement.getNumber(), (int)Util.bytesToNumber(response, 0, 2));
              }
          } catch (java.net.ConnectException ce) {
              logger.info("Player " + announcement.getNumber() +
                      " doesn't answer rekordbox port queries, connection refused. Won't attempt to request metadata.");
          } catch (Exception e) {
              logger.warn("Problem requesting database server port number", e);
          } finally {
              if (socket != null) {
                  try {
                      socket.close();
                  } catch (IOException e) {
                      logger.warn("Problem closing database server port request socket", e);
                  }
              }
          }
      }
docs: Query a player to determine the port on which its database server is running.
  
  @param announcement the device announcement with which we detected a new player on the network.