Hey. Est-il possible d'envoyer un paquet à partir d'une application C# sans utiliser de sockets? Je voudrais utiliser WebClient ou HttpWebRequest afin d'envoyer des paquets spécifiquement formatés à un serveur. Les exemples que j'ai vus ont tendance à utiliser le client UDP. MerciEnvoyer des paquets spécifiques avec HttpWebRequest
1
A
Répondre
1
Cela dépend de ce que vous entendez par "spécifiquement mis en forme". HttpWebRequest est un wrapper .Net autour du protocole HTTP qui n'est pas UDP en nature, donc vous ne pouvez pas personnaliser les paquets qu'il envoie autres que de modifier des données d'objet comme des en-têtes, etc
0
Vous devriez regarder la classe IPEndPoint, ceci est conçu pour envoyer des données à un point de terminaison de réseau par IP et adresse de port. Voici un exemple simple, voir le lien pour plus de détails et un exemple plus long avec vérification d'erreur.
byte[] data = new byte[1024];
string payload = "<Enter Your Payload Here>";
IPEndPoint ep = new IPEndPoint("127.0.0.1", 1234); //IP + Port
Socket remoteServer = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
data = Encoding.ASCII.GetBytes(payload);
remoteServer.SendTo(data, data.Length, SocketFlags.None, ep);
Je vois. Cela signifie-t-il qu'il n'y a pas d'autre moyen d'envoyer un paquet plus personnalisé que ce que fournit HttpWebRequest, sans utiliser de sockets? merci – Skoder
Qu'essayez-vous de faire exactement? –
Essayer d'envoyer un paquet magique d'un PC à un autre. – Skoder