Я пытаюсь написать клиент для Android, который должен взаимодействовать с приложением сервера ПК в локальной сети.Серверное приложение написано моим другом на C #.В настоящее время есть приложение для iPhone, которое без проблем использует это серверное приложение.
У меня очень простой код для TCP-клиента:
1. Socket s = new Socket(server, port);
2. OutputStream out = s.getOutputStream();
3. PrintWriter output = new PrintWriter(out);
4. output.println("ACTION=Next&VALUE=0&");
5. BufferedReader input = new BufferedReader(new nputStreamReader(s.getInputStream()));
6. String st = input.readLine();
Я просмотрел много примеров реализации TCP, и все они похожи.Очень похоже на мой код выше.Мое приложение зависает в строке 6, когда я пытаюсь прочитать ответ с сервера.Это не вызывает никаких ошибок (без исключений), ничего не показывает в отладчике, только ошибка тайм-аута через некоторое время.Сервер должен вернуть строку после выполнения моего действия в строке 4. Я не понимаю, почему этот код зависает.Вход не NULL (я проверял это).Я ожидаю, что будет выдано какое-то исключение или просто будет возвращена пустая строка.
Так?Что мне не хватает?Может ли быть проблема с некоторыми специальными символами, которые отправляет серверное приложение, и Android не может справиться с этим?Нужно ли какое-либо специальное разрешение в моем манифесте?
Я уверен, что у меня правильный IP-адрес и правильный номер порта.Я вижу это на сервере, работающем на моем ПК.
Спасибо.