我试图学习python中的TCP连接,所以我试图创建一个聊天框。
在此微型程序中,客户端服务器应向服务器发送“ Hello World”,并且服务器将返回“ Hello tiny one”。
程序的第一部分工作(客户端将数据发送到服务器),但是,当服务器将一些数据发送回时,程序崩溃。
我尝试过: serverSoc.sendall(bytes(“ hello tiny one”,“ utf”)) 但这给了我一个错误
客户代码为:
#creates a client socket
clientSoc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#connects to a server
clientSoc.connect(("127.0.0.1",80))
print("Connection enabled\n You are the client")
clientSoc.send(bytes("Hello World!","utf-8"))
data = clientSoc.recv(1024)
print(data.decode())
服务器代码为:
serverSoc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#becomes a server
serverSoc.bind(("127.0.0.1",80))
print("You are now The Server.")
serverSoc.listen(1)
while (True):
#get s the content of the connection(conn) and the address(addr)
conn, addr = serverSoc.accept()
#shows the address
print("Connected to "+ str(addr))
data = conn.recv(1024)
print("%s: %s"%(str(addr),data.decode()))
#send back some data
serverSoc.sendto(bytes("Hello tiny one.","utf-8"),addr)
conn.close()
serverSoc.close()
我想执行的操作是客户端为通信提供服务(成功),然后将服务器发送给客户端,并出现此错误:
OSError:[WinError 10057]不允许发送或接收数据的请求,因为未连接套接字,并且(当使用sendto调用在数据报套接字上发送时)未提供地址