我正在尝试使用Python中的套接字编程在“客户端”程序和“服务器”程序(目前在同一台计算机上)之间实现一个简单的消息传递接口。这是我的客户端和服务器代码:
#CLIENT
import os
from socket import *
host = "127.0.0.1" # set to IP address of target computer
port = 13000
addr = (host, port)
UDPSock = socket(AF_INET, SOCK_DGRAM)
while True:
data = bytes(input("Enter message to send or type 'exit': "), 'utf-8')
UDPSock.sendto(data, addr)
if data == "exit":
break
UDPSock.close()
os._exit(0)
#SERVER
import os
from socket import *
host = "127.0.0.1"
port = 13000
buf = 1024
addr = (host, port)
UDPSock = socket(AF_INET, SOCK_DGRAM)
UDPSock.bind(addr)
print("Waiting to receive messages...")
while True:
(data, addr) = UDPSock.recvfrom(buf)
print("Received message: " + data)
if data == "exit":
break
UDPSock.close()
os._exit(0)
当我从客户端发送消息时,服务器会快速闪烁“ Traceback最近呼叫最近”错误,然后服务器程序关闭。该代码最初是从Python 2上运行的内容改编而成的,因此我做了一些小的更改,但可能缺少某些内容。我是Python套接字编程的新手,所以将不胜感激。