Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Java Мобильная разработка (Android)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2017, 12:42   #1
SAMOUCHKA
Форумчанин
 
Регистрация: 07.08.2011
Сообщений: 576
По умолчанию TCP клиент на Android

Программа тестировалась на реальном устройстве, через WiFi. Но не коннектится.
Практически такой же код, на Java, запускал на ноутбуке, есть коннект!Сервер запущен на другом компьютере.
Может для работы с WiFi на Android еще что то нужно?
Код:
package com.example.sony.tcp_client_1;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.io.IOException;
import java.net.Socket;

public class MainActivity extends AppCompatActivity
{
    EditText et_host;
    EditText et_port;

    TextView tv_status;

    Socket socket = null;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        et_host = (EditText)findViewById(R.id.et_host);
        et_host.setText("192.168.0.100");

        et_port = (EditText)findViewById(R.id.et_port);
        et_port.setText("2323");

        tv_status = (TextView)findViewById(R.id.tv_status);
    }

    // Обработка нажатия кнопки
    public void onClickConnected(View v)
    {
        //
        Toast toast = Toast.makeText(getApplicationContext(), "Connected...", Toast.LENGTH_SHORT);
        toast.show();

        tv_status.setText("Status: Connected");

        try
        {
            int port = Integer.parseInt(et_port.getText().toString());
            String host = et_host.getText().toString();
            socket = new Socket(host, port);

            toast = Toast.makeText(getApplicationContext(), "Connect", Toast.LENGTH_LONG);
            toast.show();

            tv_status.setText("Status: Connect");
        }
        catch (IOException e)
        {
            toast = Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG);
            toast.show();

            tv_status.setText("Status: " + e.getMessage());

            e.printStackTrace();
        }
    }
}
SAMOUCHKA вне форума Ответить с цитированием
Старый 15.11.2017, 13:32   #2
SAMOUCHKA
Форумчанин
 
Регистрация: 07.08.2011
Сообщений: 576
По умолчанию

В файл AndroidManifest добавил
Код:
<uses-permission android:name="android.permission.INTERNET" />
теперь при подключении, приложение падает

Поместил это дело в отдельный поток, все заработало

Последний раз редактировалось SAMOUCHKA; 15.11.2017 в 13:50.
SAMOUCHKA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пожалуйста, переписать код приложения по TCP клиент-сервер в UDP клиент - сервер... KhNJu C/C++ Сетевое программирование 3 12.03.2017 23:43
tcp/ip клиент Сержикк C/C++ Сетевое программирование 1 05.07.2015 13:49
(terminal_select) TCP клиент (на языке СИ) student_5 C/C++ Сетевое программирование 2 14.06.2015 19:33
TCP/IP клиент -сервер zhenya.ya C/C++ Сетевое программирование 10 05.03.2011 22:01
как создать TCP клиент, TCP сервер ? DreamMaster911 C/C++ Сетевое программирование 1 26.10.2010 15:05