2016-09-16 36 views
0

私のコンピュータで実行されているpythonサーバーと私の電話で実行されているJavaソケットクライアントを作成しています。 javaが接続しようとする分、アプリがフリーズします。 logcatで何も言わない。pythonソケットサーバーとjava android socket - フリーズアプリケーション

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]) 

は、Java:

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"; 

実際、logcatは "successfuly接続されていない" プリント決して私は考え、なぜ...

のpython 3.5.1を持っていません。ちょうど "接続しようとしている"。

答えて

0

この行は間違っている:

client = sock.connect() 

サーバーはconnect()を呼び出すことはありません。サーバーはlisten()accept()と呼び出します。クライアントはconnect()に電話します。

サーバーでbind()listen()がコールされますが、accept()ではコールされないため、クライアントは接続しようとしてハングします。

資源:

+0

おかげで、私はそれを修正し、それはまだ動作しません。 –

関連する問題