2017-05-05 7 views
-6

に変換する方法Pythonサーバーとやりとりする単純なPythonクライアントですが、Androidアプリケーションで次のコードを実装しようとしています。このコードをAndroidアプリケーションコード

import socket 
import json 

host='127.0.0.1' 
port=9090 
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
sock.connect((host,port)) 


while True: 
    data = "Message to send" 
    sock.send(data) 
    response = json.loads(sock.recv(1024)) 
    print response 
    sock.close() 
    quit() 

そのiは接続がUIスレッド上で行われるべきではありませんので、新しいスレッドを作成する必要がありましたフラグメント上で実行されているので、私は、今のところこれを持っています。

class ClientThread implements Runnable { 

@Override 
public void run() { 
    final String msg = "message to send"; 
    Log.d(msg, "sending this"); 
    try { 
     String msg_received = null; 
     System.out.println("TRYING TO CONNECT"); 

     InetAddress serverAddr = InetAddress.getByName(HOST); 

     Socket socket = new Socket(HOST, PORT); 

     System.out.println("CONNECTED"); 

     System.out.println(socket.getLocalAddress()); 
     OutputStream out = socket.getOutputStream(); 

     PrintWriter output = new PrintWriter(out); 
     output.println(msg); 
     output.flush(); 

     // Get data sent through socket 
     DataInputStream DIS = new DataInputStream(socket.getInputStream()); 


     // read data that got sent 
     msg_received = DIS.readUTF(); 

     System.out.println("Message from server" + msg_received); 

     socket.close(); 


      } catch (Exception e) { 
       System.out.println("Did not receive string"); 
      } 




} 

} 

何も私はこの間違って持ってなかった

Socket socket = new Socket(HOST, PORT); 

後に印刷されていませんか?

+0

https://developer.android.com/にアクセスしてAndroidを学習してください。 –

+0

申し訳ありませんが、これはコードのGoogle翻訳ではありません。いくつかのJavaを最初に学ぶ –

+0

関連:http://stackoverflow.com/questions/101754/is-there-a-way-to-run-python-on-android?rq=1 –

答えて

0

Socketを使用するには、アプリにINTERNET権限が必要です。また、より多くの詳細については、this answerを見てみることができます

​​

:あなたのmanifest.xmlにこれを追加してみてください。

関連する問題