Access对象通过python中的自制TFTP发送

时间:2011-11-01 03:34:59

标签: python sockets memory udp tftp

我正在尝试使用现有的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'对象????

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

客户端不是发送数据包,而是将其转换为字符串<Packet.Packet object at 0x1e89f50>并通过网络发送。使用print type(Packet)print repr(Packet)进行确认。