Android-приложение подключается к роботу через IP-адрес и номер порта - PullRequest
1 голос
/ 01 августа 2011

Мне нужно код для подключения между моим Android-приложением и роботом через IP-адрес и номер порта с помощью Wi-Fi-соединения.У меня есть часть кода, но я думаю, что для создания соединения нужны команды.

public void onClick(View arg0) {
    // TODO Auto-generated method stub
    Socket socket = null;
    DataOutputStream dataOutputStream = null;
    DataInputStream dataInputStream = null;

    try {
        socket = new Socket("192.168.10.5", 2525);
        dataOutputStream = new DataOutputStream(socket.getOutputStream());
        dataInputStream = new DataInputStream(socket.getInputStream());
        dataOutputStream.writeUTF(textOut.getText().toString());
        textIn.setText(dataInputStream.readUTF());
    } catch (UnknownHostException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } finally{
        if (socket != null){
            try {
                socket.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        if (dataOutputStream != null){
            try {
                dataOutputStream.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        if (dataInputStream != null){
            try {
                dataInputStream.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
};

1 Ответ

0 голосов
/ 01 августа 2011

Вы должны вызвать flush для вашего выходного потока после записи.

Кроме того, закройте потоки перед закрытием сокета в блоке finally.

В чем конкретно заключается ваша проблема?Вы смотрели журналы на стороне сервера, чтобы увидеть, было ли установлено соединение?Вы видите, что ваш сервер принимает соединение?Получаете ли вы какие-либо данные на стороне сервера?

С уважением, Стефан

...