안드로이드 개발 질문/답변
(글 수 45,052)
while((b = filein.read(buffer)) != -1){
System.out.println("read bytes : "+ b);
dos.write(buffer);
dos.flush();
if(b== -1)
{
System.out.println("-1이다");
break;
}
System.out.println("전송..");
}
System.out.println("완료");
filein.close();
socket.close(); <- 소켓을 닫으면 이상없이 실행되는데요..
닫고난 후
----------소켓 닫으면 뜨는 메시지 (계속뜸)----------------------------------
java.net.SocketException: socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.DataInputStream.readUnsignedShort(Unknown Source)
at java.io.DataInputStream.readUTF(Unknown Source)
at java.io.DataInputStream.readUTF(Unknown Source)
at MyServer.main(MyServer.java:38)
------------------------------------------------------------------------------
파일을 전송해주고 서버거 소켓을 안닫으면 클라이언트에서 계속 대기를 하거든요...
소켓안닫고 그냥 소켓 정지 후 나중에 다시 접속해서 소켓 실행시키고 다시 파일 받을수 있게 할수있을까요?
/////////////클라 데이터 받는 부분///////////////////////////
while((i = instr.read(buffer)) != -1){
Log.w(null, "read bytes : " + i);
pp.write(buffer, 0, i);
pp.flush();
Log.w(null, "filename1: " );
}
////////////////////////////////////소켓 안닫으면 -1이 반환이안되서 while문 못빠져나감//////////////////////////////
서버강제로 닫으면 통과됨 (디버그해본결과 서버를 강제로 닫으면 i= -1이 되서 나가더라구요..
socket. ???? 어떤 명령어를 써야지 데이터 받고난후 정지안하고 다음작업을 할수 있을까요 클라이언트가?
서버도 지속적으로 사용할수 있고..
System.out.println("read bytes : "+ b);
dos.write(buffer);
dos.flush();
if(b== -1)
{
System.out.println("-1이다");
break;
}
System.out.println("전송..");
}
System.out.println("완료");
filein.close();
socket.close(); <- 소켓을 닫으면 이상없이 실행되는데요..
닫고난 후
----------소켓 닫으면 뜨는 메시지 (계속뜸)----------------------------------
java.net.SocketException: socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.DataInputStream.readUnsignedShort(Unknown Source)
at java.io.DataInputStream.readUTF(Unknown Source)
at java.io.DataInputStream.readUTF(Unknown Source)
at MyServer.main(MyServer.java:38)
------------------------------------------------------------------------------
파일을 전송해주고 서버거 소켓을 안닫으면 클라이언트에서 계속 대기를 하거든요...
소켓안닫고 그냥 소켓 정지 후 나중에 다시 접속해서 소켓 실행시키고 다시 파일 받을수 있게 할수있을까요?
/////////////클라 데이터 받는 부분///////////////////////////
while((i = instr.read(buffer)) != -1){
Log.w(null, "read bytes : " + i);
pp.write(buffer, 0, i);
pp.flush();
Log.w(null, "filename1: " );
}
////////////////////////////////////소켓 안닫으면 -1이 반환이안되서 while문 못빠져나감//////////////////////////////
서버강제로 닫으면 통과됨 (디버그해본결과 서버를 강제로 닫으면 i= -1이 되서 나가더라구요..
socket. ???? 어떤 명령어를 써야지 데이터 받고난후 정지안하고 다음작업을 할수 있을까요 클라이언트가?
서버도 지속적으로 사용할수 있고..



