微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

UnetSocket send() 返回一个 Nonetype 对象

如何解决UnetSocket send() 返回一个 Nonetype 对象

我正在尝试 UnetStack 手册中指定的 Python 代码。在运行 tx.pyrx.py 时,当我在终端上打印出来时成功创建了 UnetSocket 对象,但是 send() 函数在接收器处发送了 nonetype 数据.

tx.py ===>>

from unetpy import UnetSocket

s = UnetSocket('localhost',1101)
print(s)
s.send('hellooo',31)
s.close()

rx.py ======>>>

from unetpy import UnetSocket
s = UnetSocket('localhost',1102)
rx = s.receive()
print('here ',rx)
print('from node : ',bytearray(rx.data).decode())
s.close()

首先我在模拟器上运行 2-node-network.groovy。 然后是 rx.py 和来自终端的下一个 tx.py。

rx.py 中的错误 回溯(最近一次调用最后一次): 文件“rx.py”,第 6 行,在

print('from node : ',bytearray(rx.data).decode())

AttributeError: 'nonetype' object has no attribute 'data'

在 tx.py 的 O/p

解决方法

我设法用最新版本的 unetpy + fjagepy 重现了您的问题。似乎是 fjagepy 1.7.1 版本中引入的错误(我假设您安装了 1.7.1 版)。试试:

pip install fjagepy==1.7.0

然后重复你的测试,看看它是否有效。

附言我已经向 fjågepy 的维护者报告了这个问题,所以希望我们应该在下一个版本中得到修复。在此之前,您可以使用 1.7.0 版本,如果它适合您的话。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。