python套接字服务器和java android套接字 - 冻结应用程序

时间:2016-09-16 20:08:23

标签: java android python sockets

我正在我的计算机上运行一个python服务器,并在我的手机上运行java套接字客户端。 java尝试连接的那一刻,应用程序冻结了。在logcat中没有说什么。我不知道为什么......

python 3.5.1:

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从不打印“连接成功”。只是“试图连接”。

1 个答案:

答案 0 :(得分:0)

这一行错了:

client = sock.connect()

服务器不会调用connect()。服务器呼叫listen()accept()。只有客户致电connect()

由于您的服务器呼叫bind()listen(),而不是accept(),因此任何客户端都会挂起并尝试连接到它。

资源: