python socket通信并相互输出在窗口上
时间: 2023-08-11 08:20:49 浏览: 41
你可以使用Python的socket模块来实现通信,使用tkinter或PyQt等GUI库来创建窗口并显示通信内容。以下是一个简单的示例代码:
服务端代码:
```python
import socket
HOST = 'localhost'
PORT = 8888
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((HOST, PORT))
server_socket.listen(1)
print('Waiting for client connection...')
conn, addr = server_socket.accept()
print('Connected by', addr)
while True:
data = conn.recv(1024)
if not data:
break
print('Received:', data.decode())
conn.sendall(data)
conn.close()
```
客户端代码:
```python
import socket
import tkinter as tk
HOST = 'localhost'
PORT = 8888
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((HOST, PORT))
def send_msg():
msg = entry.get()
client_socket.sendall(msg.encode())
response = client_socket.recv(1024)
text.insert(tk.END, 'Server: ' + response.decode() + '\n')
root = tk.Tk()
root.title('Socket Communication')
root.geometry('400x300')
text = tk.Text(root)
text.pack()
entry = tk.Entry(root)
entry.pack()
button = tk.Button(root, text='Send', command=send_msg)
button.pack()
root.mainloop()
```
运行服务端代码,然后运行客户端代码,即可在窗口中输入消息并看到服务器的响应。