簡體   English   中英

python 套接字聊天服務器

[英]python socket chat server

之后我從輸入連接到服務器,如何在聊天中更改我的服務器?

我剛剛用一些可以工作的東西更新了代碼,盡管它需要更多的工作,有人嗎?

def send(event=None):  # event is passed by binders.
    """Handles sending of messages."""
    global HOST
    global PORT
    global ADDR
    
    msg = my_msg.get()
    my_msg.set("")  # Clears input field.
    msg_list1 = msg.split()
    
    try:
        if msg_list1 [0] == "/connect":
        try: 
            HOST = msg_list1[1]
            PORT = int(msg_list1[2])
            ADDR = (HOST,PORT)
            client_socket.connect(ADDR)
            receive_thread = Thread(target=receive)
            receive_thread.start()
            
        except TypeError:
            msg_list_tk.insert(tt.END, "Error: please write '/connect ADDR PORT' to connect to server\n")
            
    if msg_list1 [0] == "/connectnew":
            HOST = msg_list1[1]
            PORT = int(msg_list1[2])
            ADDR = (HOST,PORT)
            client_socket_2.connect(ADDR)
            receive_thread = Thread(target=receive)
            receive_thread.start()
            except:
                msg_list_tk.insert(tt.END, "Error: please write '/connect ADDR PORT' to connect to server\n")
        elif msg == "/q":
            root.quit()
            client_socket.send(b"/q")
            
        elif msg == "/disconnect":
            client_socket.close()
            
        else:
            client_socket.send(bytes(msg, "utf8"))
    except:
        msg_list_tk.insert(tt.END, "Wrong input\n")

TCP 插座僅可用於單個 TCP 連接。 如果您想要第二個連接,您需要創建一個新套接字並在其上調用connect() (即您不能再次在舊套接字上調用connect() )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM