gpt4 book ai didi

python - socket.recvfrom 函数返回一个元组(python)

转载 作者:行者123 更新时间:2023-12-01 04:41:52 25 4
gpt4 key购买 nike

我是一个Python新手,我必须创建一个连接4台机器的Truco(巴西游戏,如果你不知道的话)游戏。我正在使用类来完成此操作,使用 pickles 将其传输到套接字。根据我在网上可以找到的内容,这应该可以工作,但是我的recv是一个元组,并且我不能使用元组中的负载。我尝试将其转换为列表,然后转换为字符串,但没有任何效果!

def recv(self, machine):
PORT = 5054
HOST = ''
orig = (socket.gethostbyname(HOST), PORT)
machine._socketrcv.bind(orig)
recv = machine._socketrcv.recvfrom(1024)
return pickle.loads(recv)

这是我的发送方法:

def sent(self, m, machine):
PORT = 5054
dest = (machine._host, PORT)
self._socketsnd.sendto(m._dados,dest)

其中 m._dados 是 self.dados = pickle.dumps(dados, 2)

有人可以帮忙吗?

最佳答案

您可能想通读socket然后执行类似 recv = machine._socketrcv.recvfrom(1024)[0]

socket.recvfrom(bufsize[, flags])

Receive data from the socket. The return value is a pair (string, address) where string is a string representing the data received and address is the address of the socket sending the data. See the Unix manual page recv(2) for the meaning of the optional argument flags; it defaults to zero. (The format of address depends on the address family — see above.)

关于python - socket.recvfrom 函数返回一个元组(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30490885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com