Я использовал поиск по часам, но не смог найти ответ, подходящий для моего вопроса. Я просто хочу создать сетевое соединение TCP между ПК и устройством Android. Отправка данных (скажем, простой строки) с Android на ПК фактически работает без проблем с Socket и ServerSocket.
Однако отправка данных с ПК на Android не работает. Там ничего не получено. Вот код:
Сервер на устройстве Android:
try {
ServerSocket serverSocket = new ServerSocket( 1234 );
//tell logcat the server is online
Log.d("TCP", "C: Server Online...");
while ( true ) {
Socket client = serverSocket.accept();
BufferedReader in = new BufferedReader( new InputStreamReader( client.getInputStream() ) );
String input = in.readLine();
// Do what ever you want with input String
client.close();
}
} catch ( Exception e ) {
Log.d( "TCP", "C: " + e );
}
Клиент на ПК:
try {
InetAddress serverAddr;
try {
serverAddr = InetAddress.getByName(IPAdresse);
socket = new java.net.Socket(serverAddr,portAdresse);
socket.setSoTimeout(1000);
}catch (ConnectException e) { /*e.printStackTrace();*/ }
PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true);
out.println(nachricht);
socket.close();
}catch (SocketException e) {
// e.printStackTrace ();
try {socket.close (); } catch (Exception e1) {}
}catch (IOException e) {
// e.printStackTrace ();
} try {socket.close (); } catch (Exception e1) {}
}catch (NullPointerException e) {
// e.printStackTrace ();
try {socket.close (); } catch (Exception e1) {/e1.printStackTrace();/}
}
Я понятия не имею, почему это не работает. Я предполагаю, что есть проблема в моем коде Android или некоторой настройке в устройстве Android. Возможно, у кого-то уже была такая же проблема и подходящая мне душа. Очень помогло бы.
Спасибо