Unix fournit une technologie connue sous le nom des sockets pour faciliter la communication entre les différents processus et même des applications différentes. Une des bizarreries d'un socket de domaine Unix est qu'il apparaît aux applications d'être un fichier. Cependant, la prise n'est jamais stocké sur le disque dur et sa place dans le système de fichiers est simplement utilisé comme marqueur . Les données peuvent être écrites et lues à partir d'un socket de domaine Unix à partir de la plupart des langages de programmation majeurs que les douilles de support. Ruby rend le processus particulièrement simple , permettant aux concepts à démontrer sans être obscurcie par la complexité de la programmation de sockets en C + + . Instructions
1
ouvrir deux nouveaux documents avec votre éditeur de texte favori . Pour garder les choses en ordre , aller de l'avant et de sauver le premier avec le nom " udsServer.rb " et l'autre avec le nom " udsClient.rb . " Comme vous vous en doutez , le serveur se chargera de la création et de l'écriture à la prise et le client se connecte à la prise et de recevoir un message du premier
2
Collez le texte suivant dans usdServer.rb . : Photos
# /usr /bin /ruby
exigent 'socket'
s = UNIXServer.open ("/mytestsocket " ) client
= s . accepter
client.puts " Bonjour , mon cher ami . "
s.close
File.unlink ("/mytestsocket " )
Le code effectue les opérations suivantes : d'abord , il indique à votre système d'exploitation Unix que c'est un script Ruby. Vous devrez peut-être modifier cette ligne si votre système d'exploitation Unix installé Ruby dans un autre répertoire . Vous pouvez trouver le répertoire en tapant " qui Ruby" dans un terminal .
Ensuite , la bibliothèque de socket est chargé. Ensuite , UnixServer crée une douille dans le fichier " mytestsocket . " Ce fichier sera réellement visible dans votre terminal BASH , si vous tenez à regarder , même si vous ne serez pas en mesure de lire et d'écrire de lui. Il attend alors un autre script pour se connecter et , lorsque c'est le cas, envoie un message amical . Enfin, il ferme le socket et " dissocie " la prise du système de fichiers.
C'est tout pour le serveur , maintenant il est temps d'écrire le client.
3 < p > Collez le texte suivant dans le document udsClient.rb :
# /usr /bin /ruby
require ' socket'
s = UNIXSocket.open ("/mytestsocket " )
met s.readline
s.close
encore une fois, la première ligne indique Unix quoi faire avec votre code et le deuxième ligne charge la bibliothèque de socket. Ensuite, un socket est ouvert à la même " fichier" que le code serveur utilise . Le message est lu, et la connexion à la prise fermé
4
Ouvrez votre terminal et tapez la commande suivante : .
Rubis udsServer.rb
Rien ne se passera , car le serveur est actuellement assis , attendant votre programme client de se connecter. N'oubliez pas de laisser ce terminal ouvert.
5
ouvrir une autre copie de votre terminal et organiser la fenêtre afin que vous puissiez voir les deux terminaux à la fois. Tapez la commande suivante :
rubis udsClient.rb
vous devez immédiatement voir la fenêtre serveur sortie et la fenêtre du client affichent le message amical envoyé par le serveur. Si vous cherchez le fichier de socket , il sera désormais disparu.