[Distrib] Επικοινωνία των VM's μέσω sockets

Nikos Provatas nprov at cslab.ece.ntua.gr
Fri Jan 8 17:03:13 EET 2021


Καλησπέρα,

Δοκίμασε να κάνεις server.bind(('0.0.0.0', port))

Όπου port η θύρα της επιλογής σου. Λογικά θα λύσει το θέμα. Υποθετω πως η μεταβλητή SERVER εχει παρει καποιο ADDR που δείχνει στο local host απο την συναρτηση που το επιστρέφει.

Πρακτικα σε επικοινωνία μεταξύ διαφορετικών μηχανημάτων πρέπει να γίνεται expose το socket σε ip και οχι στο localhost για ειναι προσβασιμο από τον εξω κόσμο. 

⁣--
Nikos Provatas
Ph.D. Candidate
Computing Systems Laboratory (CSLab)
National Technical University of Athens​

Στις 6 Ιαν 2021, 19:30 ,και ώρα 19:30 ,"Σκουρτσίδης Γιώργος" <el14307 at central.ntua.gr> έγραψε:
>Πως ακριβώς θα επικοινωνούν μεταξύ τους τα VMs χρησιμοποιώντας sockets;
>
>Δοκίμασα επιτυχώς να επικοινωνήσω με τον υπολογιστή μου και το VM που 
>έχει την publc IP.Όμως στην επικοινωνία μεταξύ των VMs λαμβάνω κάποια 
>errors.
>
>Στην python όταν σε VM χωρίς IPv4 χρησιμοποιώ την εντολή 
>"socket.gethostbyname(socket.gethostname())",η οποία λαμβάνει την ΙΡ
>του 
>συγκεκριμένου μηχανήματος, λαμβάνω το εξής error "socket.gaierror: 
>[Errno -2] Name or service not known"
>
>Όταν έχω στήσει ένα δίκτυο ΝΑΤ και τρέχω την ίδια εντολή σε VM χωρίς 
>ΙΡv4,τότε γίνεται κανονικά το bind του socket.Tρέχω τις ακόλουθες 
>εντολές:
>     PORT = 6000
>     SERVER = socket.gethostbyname(socket.gethostname())
>     ADDR = (SERVER, PORT)
>     server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>     server.bind(ADDR)
>     server.listen()
>     print(f"[LISTENING] Server is listening on {SERVER}")
>
>και η εντολή print εμφανίζει : "[LISTENING] Server is listening on 
>127.0.1.1 "
>
>Στη συνέχεια όμως όταν προσπαθώ από άλλο Vm να συνδεθώ, τότε λαμβάνω το
>
>εξής error :
>"socket.error: [Errno 111] Connection refused"
>
>Τι δεν κάνω σωστά; Μήπως αντί για AF_INET θα έπρεπε να χρησιμοποιήσω 
>AF_INET6 χωρίς το δίκτυο ΝΑΤ;
>-- 
>Ευχαριστώ,
>Σκουρτσίδης Γιώργος
>_______________________________________________
>Distrib mailing list
>Distrib at lists.cslab.ece.ntua.gr
>http://lists.cslab.ece.ntua.gr/mailman/listinfo/distrib
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cslab.ece.ntua.gr/pipermail/distrib/attachments/20210108/e1d5fb5a/attachment.htm>


More information about the Distrib mailing list