Question

Quelqu'un peut-il me dire la différence entre une prise INET et toute autre prise?

Y at-il une bibliothèque C # qui permettent de travailler avec INET Sockets?

J'ai essayé de trouver ce qu'il est, mais je n'ai rien trouvé très utile. Je soupçonnant c'est quelque chose du monde UNIX.

Était-ce utile?

La solution

Une douille est juste une abstraction d'un point d'extrémité de communication. communication originale entre les entités peuvent utiliser différentes méthodes de communication. prises INET dans linux sont prises i.e. Internet Sockets à base de protocole IP, mais il y a beaucoup d'autres types. Un que j'ai récemment à traiter sont prises Netlink qui sont utilisés comme mécanisme IPC entre un processus utilisateur et le noyau linux. Contrairement à Inet prises qui utilisent les adresses IP et les ports, les sockets netlink utilisent les ID de processus linux pour identifier les parties qui communiquent. Sur une machine Linux standard, vous pouvez ouvrir le fichier /usr/include/linux/socket.h et chercher AF_MAX. Son une macro donnant le nombre de familles de protocoles pris en charge par api courant de prise. Sur ma machine, son 37.

Je ne sais pas s'il y a quelque chose appelé socket INET dans l'API Windows ou non. Havent fait beaucoup de développement pour Windows.

Autres conseils

Il existe deux domaines d'adresse utilisés largement, le domaine unix, dans lequel deux processus qui partagent un système de fichiers commun communiquer, et le domaine Internet, dans lequel deux processus en cours d'exécution sur les deux hôtes sur Internet communiquer. Chacun d'eux a son propre format d'adresse.

L'adresse d'une socket dans le domaine Unix est une chaîne de caractères qui est essentiellement une entrée dans le système de fichiers.

L'adresse d'un socket dans le domaine Internet se compose de l'adresse Internet de la machine hôte (chaque ordinateur sur Internet a une adresse unique sur 32 bits, souvent désigné comme son adresse IP).

De: Linux Howtos

Vous spécifiez le type de socket lors de l'instanciation l'objet Socket:

var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream,  ProtocolType.Tcp);

Je ne sais pas ce qu'est une prise INET est (le plus proche chose que je pouvais trouver était Comment puis-je mapper une prise unix locale à une prise de iNet ), mais le .NET Framework a le support des sockets dans l'espace de noms de System.Net.Sockets, en particulier le la classe Socket.

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