发送消息到python套接字服务器

时间:2020-07-15 05:07:51

标签: java kotlin socket.io serversocket

我正在制作一个服务器客户端系统,客户端(android用户)从该服务器客户端系统向服务器(python套接字)发送消息。我已经在自己的级别尝试过此方法,但是它不起作用。代码如下所示。

任何帮助都被批准

套接字服务器端

import socket
import threading
import pyaudio


PORT = 7800
HEADER = 64
FORMAT= "utf-8 "
DISCONNECT_MSG="!DISCONNECTED"

SERVER=socket.gethostbyname(socket.gethostname())
ADDR = (SERVER,PORT)
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server.bind(ADDR)
connection_list = []
def handle_clinet(conn,addr):
    print(f"[NEW CONNECTION]{addr} Connected")
    CONNECTED = True

    while CONNECTED:





        msg_length = conn.recv(HEADER).decode(FORMAT)
        if msg_length:
            msg_length=int(msg_length)
            msg = conn.recv(msg_length).decode(FORMAT)
            if msg == DISCONNECT_MSG:
                CONNECTED = False

            if msg == "Disconnect":


                conn.close()
                CONNECTED = False
                print("Dissconnected From the User...")
            else:

                print(msg)





def start():
    server.listen()
    while True:
        conn,addr = server.accept()
        thread = threading.Thread(target=handle_clinet,args=(conn,addr))


        thread.start()
        print(f"[ACTIVE CONNECTIONS] {threading.active_count() -1}")
        connection_list.append(addr)
        print(connection_list)


print("[Starting] the server...")
start()



客户端

public class send extends AsyncTask<String,Void,Void> {
    String message;
    Socket socket;
    PrintWriter pw ;
    String ip = "198.168.**.***";

    @Override
    protected Void doInBackground(String... strings) {
        try{
            socket = new Socket(ip,7800);
            pw= new PrintWriter(socket.getOutputStream());
            pw.write("Hello World");

            pw.flush();
            pw.close();
            socket.close();

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


发送我使用的消息

val sendcode = send()
message=iptextview.text.toString()
sendcode.execute(message)

如果还提出了关于该主题的其他建议。

0 个答案:

没有答案