Question

Cela doit être vraiment évident, mais comment puis-je faire en sorte que Winsock écoute un port spécifique (recevoir des données?) Je ne parviens pas à trouver une méthode qui me le permette!

Désolé, cela est probablement si évident.

J'essaie de créer une application de discussion en ligne qui s'exécute évidemment dans une configuration serveur / client.

Était-ce utile?

La solution

Vous liez le socket, puis écoutez et accepter les connexions. Décrit plus en détail dans Démarrer avec WinSock . Il existe également un bon guide sur les sockets BSD, que vous devriez également lire.

Pour .NET, vous souhaitez probablement Système. Net.Sockets.Socket (et ce sont des méthodes Bind / Listen / Accept / Send / Receive) au lieu de WinSock natif, mais les concepts sont les mêmes, je vais donc laisser tous les liens.

Autres conseils

Lorsque vous utilisez des sockets TCP, vous liez, écoutez et acceptez, puis récupérez. Vous pouvez trouver des tutoriels sur ici ou consulter la documentation officielle de MSDN.

L'API winsock est basée sur les sockets BSD UNIX; donc ils sont très très similaires. Vous voudrez peut-être examiner cela. Un livre que j'ai récemment publié est Programmation réseau UNIX par Richard Stevens et lui explique à peu près tout ce qu'il y a à savoir sur les sockets.

Vous pouvez également envisager d'exécuter vos sockets dans un thread distinct pour améliorer la lisibilité et les performances.

Modifier: comme pour l’écoute sur un port spécifique; c'est le paramètre sin.port de votre structure SOCKADDR_IN.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top