Python 如何使用twisted使用UDP协议发送参数

Python 如何使用twisted使用UDP协议发送参数,python,twisted,bittorrent,Python,Twisted,Bittorrent,如何使用twisted连接到以下url并从跟踪器获取响应。 udp://tracker.publicbt.com:80/announce?uploaded=0&downloaded=0&compact=1&event=started&peer_id=kovid_agarwal1235467&port=6881&info_hash=3389809f0c9096819294a680beb4adb96a738419&left=763922958 我尝试了以下代码,但发现连接Id不匹配错误 from t

如何使用twisted连接到以下url并从跟踪器获取响应。 udp://tracker.publicbt.com:80/announce?uploaded=0&downloaded=0&compact=1&event=started&peer_id=kovid_agarwal1235467&port=6881&info_hash=3389809f0c9096819294a680beb4adb96a738419&left=763922958

我尝试了以下代码,但发现连接Id不匹配错误

from twisted.internet.protocol import DatagramProtocol
from MakeUrlRequest import  encoded_Value


class SendAndReceiveUDP(DatagramProtocol):

    def startProtocol(self):
        self.transport.connect("31.172.124.3",80)
        self.transport.write(encoded_Value())


    def datagramReceived(self, datagram, addr):
        print "Received %r" %datagram
from twisted.internet import reactor
udpclient=SendAndReceiveUDP()
reactor.listenUDP(6881,udpclient)
reactor.run()
在编码的_值上方是如下值:
Upload=0&downloaded=0&compact=1&event=started&peer\u id=kovid\u agarwal1235467&port=6881&info\u hash=3389809f0c9096819294a680beb4adb96a738419&left=763922958根据,与Bittorrent跟踪器交换数据的基于UDP的协议使用“自定义二进制格式”。看起来您发送的数据不符合此格式。因此,您收到的错误可能表明您需要以不同的格式设置请求。有关该格式的更多详细信息,请参见.html。

Thanx我从下面提到的链接中得到了答案。谢谢你的支持!