socket.error: [errno 99] nie może przypisać żądanego adresu i przestrzeni nazw w Pythonie

Moje oprogramowanie serwera mówierrno99: cannot assign requested address podczas używania adresu IP innego niż127.0.0.1 do wiązania.

Ale jeśli adres IP jest127.0.0.1 to działa. Czy jest to związane z przestrzeniami nazw?

Wykonuję kody serwera i klienta w innym programie Pythona, dzwoniącexecfile(). W rzeczywistości edytuję kod źródłowy mininet. Zmodyfikowałem net.py i wewnątrz użyłem execfile ('server.py') execfile ('client1.py') i execfile ('client2.py'). sudo mn --topo single, 3 ”jest wywoływany wraz z utworzeniem 3 hostów, mój kod serwera i klienta zostanie wykonany. Podałem swój kod serwera i klienta poniżej.

#server code
import select 
import socket 
import sys 
backlog = 5 
size = 1024 
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
server.bind(("10.0.0.1",9999)) 
server.listen(backlog) 
input = [server] 
running = 1 
while running: 
    inputready,outputready,exceptready = select.select(input,[],[]) 
    for s in inputready: 
        if s == server: 
            client, address = server.accept() 
            input.append(client)
        else: 
            l = s.recv(1024)
            sys.stdout.write(l)
server.close()


#client code
import socket
import select
import sys
import time
while(1) :
    s,addr=server1.accept()    
    data=int(s.recv(4))
    s = socket.socket()
    s.connect(("10.0.0.1",9999))
    while (1):
        f=open ("hello1.txt", "rb")
        l = f.read(1024)
        s.send(l)
        l = f.read(1024)
        time.sleep(5)
s.close()

questionAnswers(1)

yourAnswerToTheQuestion