Ich portiere eine Kommunikationsbibliothek von Linux zu Windows. Ich weiß, was mein Ansatz zum größten Teil ist. Die Bibliothek verwendet alle Roh-Ethernet-Rahmen für die gesamte Kommunikation.Raw Ethernet Frames mit Winsock
Die Bibliothek, von der ich portiere, verwendet die PF_PACKET-Familie und die Struktur sockaddr_ll. Nach dem Durchsuchen der MSDN Winsock-Site habe ich keine entsprechende Familie/Struktur gefunden. Was soll mein Ansatz hier sein?
Ich habe ein paar Ideen, aber ich bin mir nicht sicher, ob sie gute Ideen sind Ich könnte PF_UNSPEC, für nicht näher bezeichnet. Ich könnte einfach übergeben die Nummer PF_PACKET darstellt (es ist ein unsigned kurz) Ich könnte auch nur meine eigene Sockadddr_ll-Struktur in Windows.
Keine dieser Ideen scheinen mir gut, sie scheinen nur wie Hacks, die nicht wirklich funktionieren werden.
Wenn jemand irgendwelche Vorschläge hat, würde ich es begrüßen.
ok, die Einschränkungen für rohe Sockets gelten nicht für mich. Meine Anwendung geht nur so hoch wie die zweite Schicht. Das heißt, ich muss nur Ethernet-Frames rendern/empfangen, es wird kein TCP/UDP/IP benötigt. – devin
Eigentlich tut es das. Schauen Sie sich das Beispiel an und senden Sie rohe Pakete mit WinPcap, und Sie werden finden, was Sie brauchen :) – Aziz
Nichts unter Schicht 3 ist in den Fenstern erlaubt. – Aziz