如何获取服务器套接字上的客户端IP地址? [蟒蛇]

时间:2019-07-31 11:14:37

标签: python-3.x

我目前想让多个树莓派连接两个服务器。我将pi连接到服务器。取决于连接的pi。我希望将要发送的数据写入不同的文件中。我当时在想pi的ip地址并使用它,但是我不确定该怎么做。 感谢您的帮助

服务器端 '''蟒蛇     从线程导入锁,线程     导入套接字

class ClientThread(Thread): 

    def __init__(self,ip,addr,s): 
        Thread.__init__(self) 
        self.ip = ip 
        self.addr = addr 
        self.s=s
       # print ("[+] New server socket thread started for " + str(ip) + " : " + str(addr)) 

    def run(self): 
        while True : 
            data = c.recv(2048) 
            print ("Server received data:",data.decode("utf-8"))
            print("Ip: "+str(self.ip) +"\nAddr: "+str(self.addr))
            print(s.getpeername())

TCP_IP = '192.168.100.10' 
TCP_PORT = 6969 
threads = []

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((TCP_IP,TCP_PORT))

print ('Server started!')
print ('Waiting for clients...')

s.listen(5)
while True:
   c, addr = s.accept()     # Establish connection with client.
   newThread = ClientThread(c,addr,s)
   newThread.start()
   threads.append(newThread)

for item in threads:
i    tem.join()

'''

客户端 '''pyhton     导入套接字

host = "192.168.100.10"
port = 6969

#Attempt connection to server
try:
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((host, port))
except:
    print("Could not make a connection to the server")
    input("Press enter to quit")

while 1:
   message = input()
   sock.sendall(str.encode(message))

'''

我无法从addr获取raddr信息。我不断遇到错误

0 个答案:

没有答案
相关问题