2016-11-02 2 views
0

나는 안드로이드 장치와 자바 서버 사이의 통신을 만들고 싶어. 서버 측 :자바 소켓 서버에서 보낸 데이터를 읽을 수 없습니다

ServerSocket serverSocket = new ServerSocket(port); 
    Socket socket = serverSocket.accept(); 
    OutputStream out = socket.getOutputStream(); 
    PrintStream pw = new PrintStream(out); 
    pw.print("hello"); 
    pw.flush();      
    socket.close(); 

안드로이드 클라이언트 측 :

public class connectTask extends Thread { 
    @Override 
    public void run() { 
     super.run(); 
      while (true) { 
       try { 
       Socket socket = new Socket("192.168.0.101", 4444); 
       InputStream inputStream = socket.getInputStream(); 
       BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); 
       String line = reader.readLine(); 
       runOnUiThread(new Runnable() { 
        @Override 
        public void run() { 
         textView.setText(line); 
        } 
       }); 
       socket.close(); 
       } catch (IOException e) {      
      }}}} 

및 시작 스레드 이러한 방법 :

thread = new Thread(new connectTask()); 
thread.start(); 

문제가 내가 자바 서버에서 아무것도 얻을 수 없다. 나는 보내거나 잘못된 데이터를 수신하고 나는 무엇이 문제인지 알 수 없다. 내가 여기서 뭘 잘못하고 있니?

+0

클라이언트 응용 프로그램에서 예외가 발생합니까 (IOException을 인쇄하십시오). – Reinard

+0

catch 블록에서 printStackTrace() 메서드를 사용했지만 아무것도 인쇄되지 않고 catch (Exception e) 블록을 추가하거나 아무 것도 catch하지 못했습니다. –

답변

0

코드가 좋으며 (String line = ...final String line = ...이어야 함) IP 주소와 서버 포트를 확인해야합니다.

관련 문제