server 端
#!/usr/local/anaconda3/bin/python import socket import threading # ==================================================== # Author: chang - EMail:changbo@hmg100.com # Last modified: 2017-06-20 # Filename: sendoutip.py # Description: send u out ip ,base socket # blog:http://www.cnblogs.com/changbo # ==================================================== port = 8899 host = 'x.x.x.xxx' def sendOut(): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((host, port)) s.listen(5) while True: connection, address = s.accept() ip, _ = address ip = (str(ip)).encode('utf-8') while True: data = connection.recv(1024) if not data: break connection.send(ip) # s.close() connection.close() s.close() if __name__ == '__main__': t = threading.Thread(target=sendOut) t.start()
client 端
#!/usr/local/anaconda3/bin/python import socket import struct # ==================================================== # Author: chang - EMail:changbo@hmg100.com # Last modified: 2017-06-20 # Filename: sendoutip.py # Description: send u out ip ,base socket # blog:http://www.cnblogs.com/changbo # ==================================================== port = 8899 host = 'x.x.x.x' def getOut(): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((host, port)) data = 'hi' s.send(str(data).encode('utf-8')) results = s.recv(1024) print(str(results, 'utf-8')) s.close() if __name__ == '__main__': getOut()
END!