python完成应用程序,实现两个人的聊天,用udp双人聊天,要求带输入框带显示框
时间: 2024-01-29 19:04:04 浏览: 69
以下是一个简单的Python代码示例,实现了基于UDP协议的双人聊天程序。其中,使用了Tkinter库实现了GUI界面,包括输入框、显示框和发送按钮。
```python
import socket
import threading
import tkinter as tk
# 创建UDP套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 本机IP和端口号
local_ip = '127.0.0.1'
local_port = 8888
# 对方IP和端口号
remote_ip = '127.0.0.1'
remote_port = 8889
# 绑定本机IP和端口号
sock.bind((local_ip, local_port))
# GUI界面
root = tk.Tk()
root.title('UDP Chat')
root.geometry('400x300')
# 显示框
display = tk.Text(root)
display.pack()
# 输入框
input_box = tk.Entry(root)
input_box.pack()
# 发送按钮
def send_msg():
msg = input_box.get()
# 发送消息到对方
sock.sendto(msg.encode(), (remote_ip, remote_port))
# 显示自己发送的消息
display.insert('end', 'Me: ' + msg + '\n')
input_box.delete(0, 'end')
send_button = tk.Button(root, text='Send', command=send_msg)
send_button.pack()
# 接收消息的函数
def recv_msg():
while True:
data, addr = sock.recvfrom(1024)
msg = data.decode()
# 显示接收到的消息
display.insert('end', 'Other: ' + msg + '\n')
# 开启一个新线程接收消息
recv_thread = threading.Thread(target=recv_msg)
recv_thread.start()
root.mainloop()
```
使用该程序时,只需要将其中的本机IP和端口号、对方IP和端口号修改为实际的值即可。需要注意的是,本程序只实现了最基本的功能,还有许多细节需要完善,例如异常处理、UI美化等。
阅读全文