2010-01-13 6 views
2

Je veux écrire un programme qui a 2 threads, un thread capte en continu les paquets du réseau et les dépose dans un tampon toutes les t secondes et l'autre thread lit continuellement ce tampon et traite chaque t secondes. Est-ce que cela peut être fait en C? ou Java sera une meilleure option?quel langage est le mieux pour la capture et le traitement des paquets

+0

Merci à tous! J'ai l'habitude d'utiliser des threads dans java et de faire une capture de paquets en C en utilisant libpcap.Les threads de Can peuvent être utilisés en C avec la même facilité qu'en Java. Existe-t-il des informations spécifiques sur le réseau qui pourraient m'aider? – trinity

Répondre

0

Il peut certainement être fait en C.

Faire en Java dépendra si vous avez accès à une bibliothèque de capture de paquets pour Java (en supposant que vous voulez dire que vous voulez capturer paquets arbitraires, et pas seulement ceux spécifiquement dirigés vers votre application).

+0

Et chaque bibliothèque de capture de paquets "Java" dont je suis au courant est en fait une enveloppe JNI autour de libpcap. –

+0

Il n'y a rien de mal à utiliser un wrapper JNI. Je suppose qu'il sera beaucoup plus facile de coder la même chose en Java qu'en C. –

1

La réponse est la fameuse "libpcap". Utilisez votre langue préférée tant qu'il y a un bon wrapper libpcap disponible pour cela.

Alors choisissez votre langue, vérifiez l'existence de l'emballage et continuer. S'il n'y a pas de wrapper pour cette langue, changez votre choix ou créez votre propre wrapper

Questions connexes