Жизненный цикл подключения сокетов Android Java TCP / IP - PullRequest
2 голосов
/ 02 марта 2012

Мне нужна реализация TCP / IP на Android (очевидно, на Java)
Я сталкивался с http://rox -xmlrpc.sourceforge.net / niotut / index.html

Однако мне интересно, правильный ли это подход или нет. Если вы посмотрите на код, вы заметите, что клиент http://rox -xmlrpc.sourceforge.net / niotut / src / NioClient.java всегда создает новое соединение каждый раз, когда отправляет запрос на сервер. .

public void send(byte[] data, RspHandler handler) throws IOException {
    // Start a new connection
    SocketChannel socket = this.initiateConnection();

    // Register the response handler
    this.rspHandlers.put(socket, handler);

    // And queue the data we want written
    synchronized (this.pendingData) {
        List queue = (List) this.pendingData.get(socket);
        if (queue == null) {
            queue = new ArrayList();
            this.pendingData.put(socket, queue);
        }
        queue.add(ByteBuffer.wrap(data));
    }

    // Finally, wake up our selecting thread so it can make the required changes
    this.selector.wakeup();
}

Но я не думаю, что это должно. Кто-нибудь может посоветовать мне, как это улучшить? Заранее спасибо!

...