2009-03-09 8 views
4

Je voudrais écrire un programme qui surveille les ports TCP, similaire à TcpView, mais le fait est qu'il doit déclencher des événements si certains ports sont utilisés. Le scénario:écouter les données sur le port TCP C#

Le serveur de licences et le programme client. Le serveur de licences peut utiliser le port 1234 pour écouter et établir plusieurs connexions. Le client se connecte de son ordinateur au serveur via le port 1234.

Lorsqu'un paquet est envoyé/reçu sur ce port, un événement doit être déclenché sur le PC client.

Des idées par où commencer? (Googled, et sommes tombés sur d'anciens sites avec des informations inutiles)

Cordialement,

Répondre

7

Je pense que vous cherchez à mettre en place un serveur TCP simple, comme ceci:

https://web.archive.org/web/20090720052829/http://www.switchonthecode.com/tutorials/csharp-tutorial-simple-threaded-tcp-server (archive.org lien, le site d'origine est vers le bas)

Il utilise la classe TcpListener dans System.Net.Sockets de la bibliothèque standard:

https://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener(v=vs.110).aspx

+2

Le lien est en panne .. – gschuager

+7

Lien est maintenant mort. C'est pourquoi vous incluez les informations de la page dans votre réponse. –

2

Il semble que vous voulez utiliser la classe HttpListener sur le côté serveur.

http://msdn.microsoft.com/en-us/library/system.net.httplistener.aspx

Le HttpListener se lie à un port TCP et écouter toutes les connexions entrantes. Une fois qu'une connexion est détectée, elle déclenche un événement que vous pouvez gérer et effectuer tout traitement requis.

+0

Jetant un coup d'œil sur les documents, cela semble seulement écouter les requêtes HTTP, peut-il gérer n'importe quel protocole? –

Questions connexes