2009-04-01 13 views
5

Sto facendo un progetto in cui devo scrivere una libreria di rete per un dispositivo connesso a una macchina Windows. La complicazione arriva dal fatto che posso comunicare con il dispositivo solo usando i frame ethernet. Quindi non esiste affatto TCP/UDP/IP. Non penso che l'approccio bind/listen/accept possa essere applicato qui, ma forse ho torto. Inoltre, non è previsto alcun routing o commutazione.Windows networking utilizzando solo frame Ethernet

Ho qualche domanda. Come utilizzare un socket per comunicare con questo dispositivo? Winsock ha qualche supporto per i frame? Non sono stato in grado di trovare molte risorse su questo. Qualcuno ha qualche idea su come dovrei procedere?

L'utilizzo delle prese è una buona idea o posso semplicemente inviare le informazioni con le intestazioni appropriate?

+0

Non ne ho idea ma sembra davvero interessante in un modo incasinato –

+0

Non esiste un socket nel livello di collegamento dati. – BobbyShaftoe

risposta

2

Utilizzare WinPCap, ha un'API per inviare e ascoltare dati non elaborati.
È possibile creare il livello di comunicazione con esso.

+1

winPCap è molto più lento nell'invio rispetto al campione NdisProt di WinDDK. Questo dovrebbe dire qualcosa – Ulterior

1

Dare un'occhiata a WinAoE code - dice che consente a Windows di parlare con dispositivi ATA su Ethernet che significa che deve comunicare senza nessuno dei livelli superiori dello stack di rete.

Modificato:

Vicino come posso dire, se si desidera inviare frame Ethernet prime, si vuole NdisSend e amici.

+0

http://msdn.microsoft.com/en-us/library/ff554712.aspx <--- nuovo collegamento a NdisSend –

+0

@ Prof.Falken Ora è ammortizzato. – Navin

Problemi correlati