[Distrib] Επικοινωνία των VM's μέσω sockets
Σκουρτσίδ
Σκουρτσίδ
Wed Jan 6 19:30:04 EET 2021
Πως ακριβώς θα επικοινωνούν μεταξύ τους τα 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 χωρίς το δίκτυο ΝΑΤ;
--
Ευχαριστώ,
Σκουρτσίδης Γιώργος
More information about the Distrib
mailing list