插座.recvfrom返回元组的函数(python)

2024-09-29 17:49:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个python noobie,我必须创建一个连接4台机器的Truco(巴西游戏,如果你不知道的话)。我用类来做,用pickles把它传输到一个socket。根据我在网上找到的,这应该可以工作,但是我的recv是一个tuple,我不能使用tuple的加载。我试着把它转换成一个列表,然后再转换成一个字符串,但是没有任何效果!在

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)

下面是我的发送方法:

^{pr2}$

在哪里有m.u dados自我护墙板= 泡菜、垃圾(护墙板,2)

有人能帮忙吗?在


Tags: 机器host游戏列表portsocketmachineorig
2条回答

{1{a>可以在地址^中找到更多的{1}和数据}。与其他一些语言不同,Python允许将元组放在赋值的左侧,因此如果您执行以下操作:

data, (address, port) = machine._socketrcv.recvfrom(1024)

您可以在单独的命名变量中访问所需的所有信息。在您的情况下,您只需要数据:

^{pr2}$

您可能需要通读socket,然后执行类似recv = machine._socketrcv.recvfrom(1024)[0]的操作

^{bq}$

相关问题 更多 >

    热门问题