2016-08-01 3 views
3

est-il un moyen d'obtenir non seulement le corps du message entrant. mais aussi ether/IP en-têtes de celui-ci? Maintenant, j'utilise gen_tcp et recevoir des messages par le processus de contrôle actif.est-il possible d'obtenir des en-têtes ether/ip via gen_tcp?

pour l'instant socket est ouvert via 'of_driver' de telle manière:

gen_tcp:connect(IpAddr, Port, [binary, {packet, raw}, {active, false}],CONNECT_TIMEOUT) 

Répondre

3

Pour autant que je sache, vous ne pouvez pas obtenir Ethernet ou les en-têtes IP via gen_tcp. Vous pouvez utiliser the procket library pour ouvrir une socket raw. (L'option {packet, raw} passée à gen_tcp ne fait pas référence à une socket "brute", cela signifie simplement que gen_tcp n'essaie pas d'interpréter le flux d'octets TCP pour le diviser en paquets.)

+0

merci beaucoup! j'essaierai –