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

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

Войти
Регистрация
Восстановить пароль
 
_Night_Scream_
55 / 67 / 7
Регистрация: 08.08.2013
Сообщений: 545
#1

Socket AndroiD - Android

26.09.2013, 00:07. Просмотров 667. Ответов 6
Метки нет (Все метки)

В общем хочу написать сокет (TCP клиент) на андрюху.
http://myandroidsolutions.blogspot.r...-tutorial.html

Вот отсюда в принципе отправка работает (русские не передаются, крякозябры получаю, но и НЕ оч надо).
Но както странно ведет себя приложение. Не завершается, приходится через диспетчер останавливать и заного коннектиться, если сервер закрывал(TCP сервер написан на Delphi 7)
А если с сервера прислать данные, то они отображаются только когда сервер закрою.

Думаю лучше написать вдумчиво и самому, но хотелось бы еще примеров посмотреть и хорошую лит-ру.

Задача в том чтоб отправлять хотяб 1 байт, с каждой кнопки на экране (их надо 9)
тоесть использовать как беспроводной пульт управления.

Будут какие нибудь напутствия?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
26.09.2013, 00:18     Socket AndroiD #2
Напутствия - удачи! :-)

А если серьезно, то без изучения кода сервера и кода всего приложения никто ничего не скажет, кроме напутствия!
_Night_Scream_
55 / 67 / 7
Регистрация: 08.08.2013
Сообщений: 545
26.09.2013, 09:58  [ТС]     Socket AndroiD #3
Цитата Сообщение от haribo Посмотреть сообщение
Напутствия - удачи! :-)

А если серьезно, то без изучения кода сервера и кода всего приложения никто ничего не скажет, кроме напутствия!
Весь кода на андроид ссылка выше.

А сервер элементарно - TServerSocket
код приема
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.ServerClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
  var
  s:string;
begin
  {сохраняем в s присланную нам строку}
  s := Socket.ReceiveText;
memo.lines.add(s);
end;
код посылки
Delphi
1
2
3
4
procedure TForm1.Button5Click(Sender: TObject);
begin
server.Socket.SendText(mytext);
end;
С сервером все хорошо.

Проблемы с андроидом.
Присланные данные с сервера выводятся после отключения сервера(тоесть после дисконекта)
vxg
Модератор
3021 / 1823 / 189
Регистрация: 13.01.2012
Сообщений: 6,907
26.09.2013, 10:37     Socket AndroiD #4
может быть от того что данные читаются через readLine, а вы отправляете просто текст - ридер ждет завершения строки или закрытия соединения
MegaSinner
26.09.2013, 10:57
  #5

Не по теме:

Я сервер на C# писал, то всё работало четко.

_Night_Scream_
55 / 67 / 7
Регистрация: 08.08.2013
Сообщений: 545
26.09.2013, 14:14  [ТС]     Socket AndroiD #6
Цитата Сообщение от vxg Посмотреть сообщение
может быть от того что данные читаются через readLine, а вы отправляете просто текст - ридер ждет завершения строки или закрытия соединения
Тоетсь в конец строки вставить #13 ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2013, 15:50     Socket AndroiD
Еще ссылки по теме:

Android TCP Socket Client
Android Socket Server, Client
Android Не создается Socket
Android Задать IP для Socket
Socket догрузка файла Android

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

Или воспользуйтесь поиском по форуму:
vxg
Модератор
3021 / 1823 / 189
Регистрация: 13.01.2012
Сообщений: 6,907
26.09.2013, 15:50     Socket AndroiD #7
public String readLine ()

Added in API level 1
Returns the next line of text available from this reader. A line is represented by zero or more characters followed by '\n', '\r', "\r\n" or the end of the reader. The string does not include the newline sequence.
взято из http://developer.android.com/referen...html#readLine() - пользуйтесь, полезный ресурс
Yandex
Объявления
26.09.2013, 15:50     Socket AndroiD
Ответ Создать тему
Опции темы

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