2016-09-16 2 views
0

내 컴퓨터에서 실행되는 파이썬 서버와 내 휴대 전화에서 실행되는 자바 소켓 클라이언트를 만들고 있습니다. 자바가 연결을 시도하는 순간 앱이 멈 춥니 다. logcat에서 아무것도 말하지 않습니다.파이썬 소켓 서버와 자바 안드로이드 소켓 - 애플 리케이션을 동결

PORT = 8888 

import socket 

sock = socket.socket() 
sock.bind(("0.0.0.0", PORT)) 
sock.listen(1) 
client = None 
while not client: 
    try: 
     client = sock.accept() 
    except: 
     pass 
print(client[1]) 

자바 :

static String get_leaderboard() { 
     Socket sock; 
     OutputStream out; 
     InputStream in; 
     try { 
      System.out.println("now trying to connect"); 
      sock = new Socket("192.168.1.29", 8888); 
      System.out.println("connected successfuly"); 
      out = sock.getOutputStream(); 
      in = sock.getInputStream(); 
      return Integer.toString(in.read()); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     return "Error in connection"; 

실제로, 로그 캣은 "successfuly 연결되지"인쇄합니다 결코 내가 왜 아무 생각이 ...

파이썬 3.5.1이 없습니다. 그냥 "연결하려고"합니다.

답변

0

이 줄은 잘못된 것입니다 :

client = sock.connect() 

서버는 connect()를 호출하지 않습니다. 서버는 listen()accept()이라고합니다. 고객은 connect()으로 전화합니다.

서버가 bind()listen()이 아니라 accept()이 아니기 때문에 클라이언트가 연결을 시도 할 수 없습니다.

자료 :

+0

덕분에, 나는 그것을 고정하지만 여전히 작동하지 않습니다 –