python服务器与java客户端的连接

2024-05-20 20:46:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在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发送exacly之后。冲水后我关闭了PrintWriter()

注意——当我第一次在服务器上打印数据时,它只打印新行,而不是“was here”字符串

有什么想法吗?你知道吗


Tags: 数据服务器client消息newclosedata客户机