如何向UDP跟踪器发送请求?

时间:2018-05-18 12:54:11

标签: c# bittorrent

我正在学习BitTorrent协议,我设法制作了一个简单的小程序,可以加载一个torrent文件,解析它,从中获取一个跟踪器,然后向跟踪器发送GET请求,并与一个对等方进行握手。但现在我以udp://example.to:999/announce的形式来到了UDP跟踪器。

我会使用常规跟踪器(在C#中):

HttpWebRequest request =(HttpWebRequest)WebRequest.Create(request_string);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

如何发送请求并获得UDP跟踪器的响应?

2 个答案:

答案 0 :(得分:1)

您需要实现以下指定的UDP跟踪器协议:
BEP15 - UDP Tracker Protocol

答案 1 :(得分:0)

我在C#中需要的课程是System.Net.Sockets.UdpClient。如果您的udp跟踪器地址为udp://example.to:999/announce,那么您需要使用以下命令初始化UdpClient:

UdpClient udpTracker = new UdpClient("example.to", 999);

然后使用适当的方法发送和接收信息。有关需要发送到跟踪器的内容,请参阅UDP Tracker Protocol.