Отправка данных TCP с Android (в качестве клиента) - данные не отправляются?
Я пытаюсь отправить данные из моего приложения Android на свой компьютер через TCP.
код выглядит следующим образом:
Socket socket = new Socket("10.0.78.75", 50505);   
OutputStream out = socket.getOutputStream();       
PrintWriter output = new PrintWriter(out);         
mStatusText.setText("Sending Data to PC");         
output.println("Hello from Android");              
mStatusText.setText("Data sent to PC");            
socket.close();                                    
mStatusText.setText("Socket closed");              
при этом я не получаю никаких ошибок, однако серверное приложение (написанное на C#) не получает никаких данных. Он видит, что клиент подключается к нему и видит, что данные отправляются, однако строка данных выходит пустой... И мысли о том, почему это происходит?
PS: код сервера скопирован со следующего сайта и был протестировано с клиентом TCP C#. http://www.switchonthecode.com/tutorials/csharp-tutorial-simple-threaded-tcp-server
3 ответов
у меня была та же проблема, и случайные решения были недостаточно хороши для меня. Я думаю, что вы должны использовать (в данном случае) output.flush(); и output.close(); вместо out.flush(); и out.close();. И вы должны помнить об интернет-разрешении в AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
после <uses-sdk> и перед <application>
