Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.81/27: Рейтинг темы: голосов - 27, средняя оценка - 4.81
joker26rus
0 / 0 / 0
Регистрация: 28.07.2013
Сообщений: 1
#1

Нужно по протоколу tcp-ip отправлять на определенный порт данные

31.07.2013, 20:20. Просмотров 4996. Ответов 6
Метки нет (Все метки)

нужно по протоколу tcp-ip отправлять на определенный порт данные.
Чтобы сервер отвечал по этим данным набором своих "ответных" данных.
Как это реализовать на Android.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2013, 20:20
Ответы с готовыми решениями:

Как правильно принять данные по TCP протоколу функцией recv?
Всем добрый вечер! Пытаюсь реализовать получение данных с устройства через...

Нужно отправлять данные с радиокнопок в Excel
Здравствуйте очень прошу срочной помощи, мне надо добавить кнопку сабмит и...

Прием данных по протоколу TCP
Делаю программу, которая принимает данные по TCP протоколу с помощью сокета....

Ошибка соединения по протоколу TCP
WCF соединений по TCP делаю по примеру и не получается вот пример конфига...

Нужно считать данные из файла и заменить определенный текст на заданный
Есть файл с таким содержимым: (в нем записаны вещ. числа) Пример: 1.000 1.111...

6
MegaSinner
97 / 93 / 9
Регистрация: 09.04.2010
Сообщений: 746
02.08.2013, 20:49 #2
Коннект:
Java
1
2
3
4
5
6
7
        try{
            sc = new Socket("айпишник", Integer.parseInt("порт"));
            sc.setKeepAlive(true);
            is = sc.getInputStream();
            os = sc.getOutputStream();
            ///System.out.println("Connected!");
        }catch(Exception x)
Чтение:
Java
1
2
3
4
5
6
7
8
while (is.available()==0)
            {
                try{Thread.sleep(50);
                }catch (Exception cc){
                }
            }
            byte[] baray= new byte[1024];
            is.read(baray, 0, is.available());
Запись:
Java
1
os.write("строчка".getBytes());
sc, is и os - объяви пабличные, там, где нужно, и соответственного типа. Удачи.

EDIT: если твой сервер отправляет большие данные, например фотки, то первым делом пусть отправляет её размер в байтам и только затем, дождавшись ответа, пересылает фотку. Зачем так: потому что, есть размер буфера и данные передаются частями... Но байты(комманды) нужно ещё правильно декодировать в UTF-строчки, но это уже другой разговор..
3
The13
0 / 0 / 0
Регистрация: 30.07.2013
Сообщений: 3
02.08.2013, 21:13 #3
Спасибо.
0
MegaSinner
97 / 93 / 9
Регистрация: 09.04.2010
Сообщений: 746
28.08.2014, 18:44 #4
The13, Pingvinoff, _Night_Scream_, joker26rus.
Небольшой бонус, по существу:
не забываем про:
1) В манифесте должно быть разрешение:
XML
1
<uses-permission android:name="android.permission.INTERNET" />
2) Нельзя ломиться в инет с основного потока - для этого есть AsyncTask, Thread и т.д..
3) Учитывая пункт №2, обновлять UI приходится так же в отдельном потоке, но с "примочками"(handler):


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
private void UpdateUI() {
        final Handler handler = new Handler();
        Runnable runnable = new Runnable() {
            public void run() {
                while (!stop_threads) {
                    try {
                        Thread.sleep(200);//вот это значение меняем под свои нужды
                    }
                    catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    handler.post(new Runnable(){
                        public void run() {
                            if (current_line.length() > 0)
                            {
                            выводим что-то куда-то
                            current_line = "";
 
                            }
 
 
                            }
                        }
                    });
                }
            }
        };
        new Thread(runnable).start();
    }
На очень старых версия ОS могут быть проблемы с запуском нескольких АсинкТасков, в то время, как Thread'ы будут работать перфектно.. Приятного кодинга..
0
Pablito
29.08.2014, 09:53
  #5

Не по теме:

любитель некропостинга?

0
MegaSinner
29.08.2014, 10:54
  #6

Не по теме:

Цитата Сообщение от Паблито Посмотреть сообщение
любитель некропостинга?
- Нет.

0
MegaSinner
29.08.2014, 11:01     Нужно по протоколу tcp-ip отправлять на определенный порт данные
  #7

Не по теме:

неа

0
29.08.2014, 11:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2014, 11:01
Привет! Вот еще темы с ответами:

Может ли TCP сервер отправлять JSON?
Может ли TCP сервер в ответ на запросы клиента отправлять JSON который надо...

PHP АПИ сервер по протоколу TCP
Привет. Дайте пожалуйста совет по технологиям для данной задачи Задача...

Взаимодействие iOS и Windows CE по протоколу TCP/IP
Всем добрый день! Помогите, пожалуйста, бьюсь уже две недели с реализацией...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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