我正在尝试使用现有的UDP在python中创建TFTP。在我的server.py。
截至目前,我能够向服务器发送读取请求(RRQ)和写入(WRQ)。但是,然后Packet对象(要发送到服务器的Created对象)到达服务器,我无法访问它。
在server.py中:
Packet = (server_from_client.recv())
print Packet
print id(Packet)
print Packet.opCode
这会产生此输出:
('127.0.0.1', 53909)
recv done
<Packet.Packet object at 0x1e89f50>
42518000
Traceback (most recent call last):
File "servertest.py", line 16, in <module>
print Packet.opCode
AttributeError: 'str' object has no attribute 'opCode'
为什么它首先告诉我它是一个Packet.Packet对象(它有一个opCode),然后说它是一个没有opCode的'str'对象????
任何帮助将不胜感激。
答案 0 :(得分:0)
客户端不是发送数据包,而是将其转换为字符串<Packet.Packet object at 0x1e89f50>
并通过网络发送。使用print type(Packet)
和print repr(Packet)
进行确认。