Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
DrSMERTb
60 / 36 / 4
Регистрация: 12.11.2010
Сообщений: 816
#1

TCP Socket Client - Программирование Android

20.02.2016, 14:18. Просмотров 496. Ответов 4
Метки нет (Все метки)

Всем доброго времени суток. Пытаюсь открыть сокет между Android Client и сервером под виндой (когда то написал на билде, использую в качестве тестового всегда, раньше всегда работал, так что пологаю что проблема не в нём. Брандмауэры потушены на обеих машинах.)
Но изночально он мне выдавал ошибку :
Java
1
socket failed eacces permission denied
После того как добавил в манифест
Java
1
2
3
4
5
6
7
 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Ошибка появляется, но проблема в том что она не содержит текста.
Вот код самой проги:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.telephony.TelephonyManager;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
 
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
 
public class MainActivity extends AppCompatActivity {
private ImageView Image;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        try {
            SocketConnection(" ",getDevice_id());
 
        }
        catch (Exception s)
        {}
 
 
 
    }
 
    public void onTestButtonClick(View view)
    {
        // выводим сообщение
        try {
            SocketConnection("HI","HI");
        }
        catch (Exception s)
            {
                Toast.makeText(this, s.getMessage(), Toast.LENGTH_SHORT).show();
            }
 
        Toast.makeText(this, "Коннехт!", Toast.LENGTH_SHORT).show();
    }
 
 
 
    public String getDevice_id() {//Получение imei телефона
        String device_id;
        TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        device_id= tm.getDeviceId(); // здесь ошыбк
        return  device_id;
    }
    public static void SocketConnection(String FileName, String IMEI) throws IOException {
     Socket soc= new Socket("192.168.10.3",5150);
        InputStream sin = soc.getInputStream();
        OutputStream sout = soc.getOutputStream();
        DataInputStream in = new DataInputStream(sin);
        DataOutputStream out = new DataOutputStream(sout);
        out.writeUTF(IMEI);
        out.flush();
        sin.close();
        sout.close();
        in.close();
        out.close();
        soc.close();// заставляем поток закончить передачу данных.
    }
}
Так ну и в общем 192.168.10.3 - физический сервак, и доступ к нему из вафли к которой подключём телефон есть, т.к. ES Проводник спокойненько цепляется к шаре на нём. Что ни так делаю? Ещё что то в манифест добавить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2016, 14:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос TCP Socket Client (Программирование Android):

Socket Android Client and Java Socket Server - Программирование Android
Доброго времени суток.Пытаюсь сделать простое клиент-серверное приложение. Клиент - приложение на Android устройстве. Сервер - Приложение...

Socket Server, Client - Программирование Android
Доброго времени суток. Решил разобраться с сокетами. Но почему-то сообщения не приходят... Клиент: messsage = &quot;Test&quot;; client...

Android, client-server - Программирование Android
Здравствуйте, раньше писал, что делаю приложение на диплом, что-то похожие на google maps, сейчас возник вопрос об авторизацие. ...

Android client <-Wi FI-> PC server - Программирование Android
Всем привет. Очень хочу реализовать такую штуку. Значит надо отправлять хотяб 1 байт с андроида на пк через WI Fi На ПК вполне знаком...

HTTP Client для Android - Программирование Android
Доброго времени суток друзья. Столкнулся с такой проблемой. Нужно написать HTTP Client , я его вроде бы написал , но проблема в том ,что...

SocketServer, Client. Получение ответа от сервера - Программирование Android
Уже устал, не пойму где ошибка... Клиент: client = null; dataOutputStream = null; dataInputStream = null; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Pablito
2473 / 1918 / 595
Регистрация: 12.05.2014
Сообщений: 6,742
Завершенные тесты: 1
20.02.2016, 14:26 #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от DrSMERTb Посмотреть сообщение
пологаю
Цитата Сообщение от DrSMERTb Посмотреть сообщение
изночально
это печально

ошибки не бывают пустыми, их желательно копипастить целиком сюда, народ разберется

и по теме - все операции с сетью должны выполняться в отдельном потоке
то есть в методе SocketConnection надо все выносить или в Thread или в какой-нибудь AsyncTask
DrSMERTb
60 / 36 / 4
Регистрация: 12.11.2010
Сообщений: 816
20.02.2016, 14:31  [ТС] #3
Ну на счёт пустой... На картинке 1- сигналит, что была ошибка
2-при любом раскладе выводит "коннект".
Миниатюры
TCP Socket Client  
Pablito
2473 / 1918 / 595
Регистрация: 12.05.2014
Сообщений: 6,742
Завершенные тесты: 1
20.02.2016, 14:33 #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
логи надо смотреть, но это на будущее, потому что выше я дал ответ почему не работает
и об этом точно написано в логах (LogCat), инфа 146%
DrSMERTb
60 / 36 / 4
Регистрация: 12.11.2010
Сообщений: 816
20.02.2016, 14:44  [ТС] #5
Паблито, ах тыж хитрюга)))
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 public void onTestButtonClick(View view)
    {
        Thread myThread = new Thread( // создаём новый поток
                new Runnable() { // описываем объект Runnable в конструкторе
                    public void run() {
                        try {
                            System.out.println("GO");
                            SocketConnection("123", "123"); // вызываем метод воспроизведения
                            System.out.println("Final");
                        }
                      catch (Exception e) {
                          System.out.println(e.getMessage());
                      }
 
                    }
                }
        );
        myThread.start();
        Toast.makeText(this, "Ушёл на выполнение!", Toast.LENGTH_SHORT).show();
    }
Всё заработало
Спс)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2016, 14:44
Привет! Вот еще темы с ответами:

client/server для android phone <-> pc на java - Программирование Android
Написал клиент/сервер на java для передачи сообщений из телефона в комп. Клиент на телефон samsung galaxy fit gt-s5670 с Android 2.2.1,...

Server->Client Обновление БД длинной строкой. Приходит не все отосланное - Программирование Android
Отправляю из Сишной проги по сокету, длинную строку с командами создания и обновления БД Sqlite на андроиде. При приеме вычитывается...

Socket - Программирование Android
Как работать с сокетами на Android? Есть литература на эту тему?

Socket AndroiD - Программирование Android
В общем хочу написать сокет (TCP клиент) на андрюху. http://myandroidsolutions.blogspot.ru/2012/07/android-tcp-connection-tutorial.html ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.02.2016, 14:44
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru