python服务器和java客户端之间的连接

时间:2018-04-04 21:11:45

标签: java python sockets client client-server

我试图在python服务器和java客户端(在android中)之间建立连接,这个想法是只有客户端将数据发送到服务器,服务器才会处理事情。然而,问题是第一次发送消息,服务器接收消息;然后,当我试图发送下一个消息时。服务器没有收到任何东西。

服务器很简单:这是一个最常见的:

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((HOST, PORT))
server_socket.listen(10)
client_socket, client_address = server_socket.accept()
print 'Connect with ' + client_address[0]

while check_if_directx_game():
    data = client_socket.recv(1024).decode("UTF-8")
    if 'SBA' in data:
        PressKey(a)
    if "PBA" in data:
        ReleaseKey(a)
    else:
        print data
        print "was here"

client_socket.close()
server_socket.close()

客户方:

public class SendMessage extends AsyncTask<String,Void,Void>{
private Exception exception;
@Override
protected Void doInBackground(String... params){
    try {
        try {
            Socket socket = new Socket("192.168.1.178", 9000);
            PrintWriter ToServer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
            ToServer.print(params[0]);
            ToServer.flush();
            ToServer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    } catch (Exception e) {
        this.exception = e;
        return null;
    }
    return null;
}}

我只接受客户端的SBA消息,但从未收到过之后发送的PBA。我在flush()之后关闭了PrintWriter;

P.S。 - 当我第一次在服务器中打印数据后,它只打印新行而不是“在这里”字符串

任何想法?

0 个答案:

没有答案