Клиентский сокет Android никогда ничего не получает от сокета сервера Windows Java.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Клиентский сокет Android никогда ничего не получает от сокета сервера Windows Java.

Сообщение Anonymous »

До сих пор я делал все по инструкции и всегда получал это исключение, поэтому мне действительно нужен совет. Я пытаюсь реализовать пару клиент-сервер, используя домашний Wi-Fi.
Как-то это связано с моим интернет-провайдером? В манифесте Android уже есть INTERNET и ACCESS_NETWORK_STATE (и даже MANAGE_EXTERNAL..., хотя это не имеет прямого отношения к делу).
Java-сервер :
try {
FileInputStream fIS = new FileInputStream(file);
fIS.read(array, 0, array.length);
Socket client = serverSocket.accept();
if (!(client.getInetAddress().getHostAddress().equals("192.168.1.2"))) client.close();
System.out.println(client.getInetAddress().getHostAddress() + " HAS CONNECTED, PORT "
+ client.getPort());
if (client.isOutputShutdown()) {
System.out.println("CLIENT SOCKET HAS BEEN SHUT!!!!!!");
return;
}
OutputStream clientOut = client.getOutputStream();
System.out.println("SENDING FILE CHUNKS...");
System.out.println("0000000000000000");
clientOut.write(array, 0, array.length);
clientOut.flush();
System.out.println("111111111111111111");
client.close();
System.out.println("333333333333333333");
System.out.println("FINISHED!");
}
catch(SocketException se){
System.err.println(se.getMessage());
se.printStackTrace();
}
catch(FileNotFoundException ex){
System.err.println(ex.getMessage());
}
catch(IOException ex){
System.err.println(ex.getMessage());
}

Клиент Android:
try {
clientSocket = new Socket("192.168.1.4",65001,thisLocalAddr,64999);
clientSocket.setSoTimeout(15000);
array = new byte[13574867];
InputStream realIS = clientSocket.getInputStream();
if (clientSocket.isInputShutdown()) return;
realIS.read(array,0,array.length);
fiOS = new FileOutputStream(Environment.getExternalStorageDirectory() +
"/Share/file.pdf");
fiOS.write(array,0, array.length);

realIS.close();
clientSocket.close();
fiOS.close();
}
catch (SocketException se) {
Log.e("MainActivity ", se.getStackTrace().toString());

}
catch (NumberFormatException nfn) {
Log.d("MainActivity", nfn.getStackTrace().toString());}
catch (UnknownHostException uhe) {
Log.d("MainActivity", "Unknown Host Exception");
Log.d("FileReceiver: ","dumbo = " + dumbo.length()) ;
}

Результат консоли:
192.168.1.2 HAS CONNECTED, PORT 64999
SENDING FILE CHUNKS...
0000000000000000
Connection reset by peer
java.net.SocketException: Connection reset by peer
at java.base/sun.nio.ch.SocketDispatcher.write0(Native Method)
at java.base/sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:54)
at java.base/sun.nio.ch.NioSocketImpl.tryWrite(NioSocketImpl.java:394)
at java.base/sun.nio.ch.NioSocketImpl.implWrite(NioSocketImpl.java:410)
at java.base/sun.nio.ch.NioSocketImpl.write(NioSocketImpl.java:440)
at java.base/sun.nio.ch.NioSocketImpl$2.write(NioSocketImpl.java:819)
at java.base/java.net.Socket$SocketOutputStream.implWrite(Socket.java:1223)
at java.base/java.net.Socket$SocketOutputStream.write(Socket.java:1210)
at Main.sendFile(Main.java:53)
at Main.main(Main.java:15)


Подробнее здесь: https://stackoverflow.com/questions/783 ... a-server-s
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»