Невозможно отправить данные по TCP из сокета Java на сервер .net tcp - PullRequest
2 голосов
/ 02 ноября 2010

Я пытаюсь получить приложение для Android для отправки данных TCP на сервер в моей сети. Сервер был написан на c #.

Когда я использую приведенный ниже код для передачи данных, сервер получает только целую серию \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0

Кто-нибудь знает почему?

Socket socket = new Socket(host, port);
PrintWriter pw = new PrintWriter(socket.getOutputStream(), true);
pw.print("test");
socket.close();

Ответы [ 3 ]

2 голосов
/ 02 ноября 2010

Я не уверен, имеет ли это какое-либо отношение к этому, но вы можете попробовать вручную сбросить PrintWriter.Вы передали true его конструктору для запроса автоматической очистки, но я полагаю, что это происходит только тогда, когда вы печатаете символ новой строки, чего не делает ваш пример кода.

1 голос
/ 02 ноября 2010

Закройте PrintWriter, а не Socket.

0 голосов
/ 02 ноября 2010

вы можете попробовать println («тест»). В Java вам нужно очистить линию, чтобы это могло стать причиной ваших проблем.

...