tcp聊天程序多客户端 界面
时间: 2023-08-04 16:09:29 浏览: 30
为了实现TCP聊天程序的多客户端界面,你可以考虑使用图形用户界面(GUI)框架,如Tkinter、PyQt、wxPython等。下是一个简单的Tkinter实现的多客户端GUI界面的示例代码:
```python
from tkinter import *
import socket
import threading
# 创建主窗口
root = Tk()
root.titleTCP聊天程序')
# 创建输入框
input_text = StringVar()
input_entry = Entry(root, textvariable=input_text)
input_entry.pack(side=LEFT, padx=10, pady=10)
# 创建发送按钮
def send_message():
message = input_text.get()
input_text.set('')
sock.send(message.encode())
send_button = Button(root, text='发送', command=send_message)
send_button.pack(side=LEFT, padx=10, pady=10)
# 创建消息框
message_listbox = Listbox(root, width=50)
message_listbox.pack(side=LEFT, padx=10, pady=10)
# 连接服务器
server_address = ('localhost', 8888)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(server_address)
# 接收消息
def receive_message():
while True:
message = sock.recv(1024).decode()
message_listbox.insert(END, message)
receive_thread = threading.Thread(target=receive_message)
receive_thread.start()
# 运行主窗口
root.mainloop()
```
这段代码实现了一个简单的TCP聊天程序的客户端界面,包括输入框、发送按钮和消息框。当用户输入消息并点击发送按钮时,程序将消息发送到服务器;同时,程序也在后台接收服务器发送的消息,并在消息框中显示。注意,这段代码只实现了单个客户端的界面,如果要实现多个客户端的界面,需要使用多线程来处理每个客户端的消息接收。