将Android Java客户端连接到Python服务器

时间:2018-07-01 13:20:18

标签: java android python multithreading sockets

我试图用python将项目连接到服务器,以将数据保存在服务器中,但是客户端尝试连接服务器时失败了(我从互联网上获取了多线程Python服务器)。我无法解决问题。

客户端部分:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    try {

        Socket soc = new Socket("127.0.0.1", 2004);

    } catch (IOException e) {
        e.printStackTrace();
    }

}

服务器部分(不是我的,来自堆栈溢出):

import socket 
from threading import Thread 
# Multithreaded Python server : TCP Server Socket Thread Pool
class ClientThread(Thread): 

    def __init__(self,ip,port): 
        Thread.__init__(self) 
        self.ip = ip 
        self.port = port 
        print ("[+] New server socket thread started for " + ip + ":" + str(port) )


    def run(self): 
        while True : 
            data = conn.recv(2048) 
            print ("Server received data:", data)
            MESSAGE = raw_input("Multithreaded Python server : Enter Response from Server/Enter exit:")
            if MESSAGE == 'exit':
                break
            conn.send(MESSAGE)  # echo 
# Multithreaded Python server : TCP Server Socket Program Stub
TCP_IP = '127.0.0.1' 
TCP_PORT = 2004 
BUFFER_SIZE = 20  # Usually 1024, but we need quick response 

tcpServer = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
tcpServer.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 
tcpServer.bind((TCP_IP, TCP_PORT)) 
threads = [] 

while True: 
    tcpServer.listen(4) 
    print ("Multithreaded Python server : Waiting for connections from TCP         clients...") 
    (conn, (ip,port)) = tcpServer.accept() 
    newthread = ClientThread(ip,port) 
    newthread.start() 
    threads.append(newthread) 

for t in threads: 
    t.join() 

0 个答案:

没有答案
相关问题