def main(): global is_server #available_ips = network.getAvailableSubnet() if len(sys.argv)>=2: arg = sys.argv[1].lower() if arg=="client": is_server = False if is_server: serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = socket.gethostname() serversocket.bind((network.ip("wlan0"), 1055)) serversocket.listen(10) print("In Server Mode") while True: clientsocket, addr = serversocket.accept() print("Got a connection from {}".format(addr)) with open("receive.txt", "wb") as f: while True: data = clientsocket.recv(1024) if not data: break f.write(data) clientsocket.close() print("Received Data") else: print("In client mode") available_ips = network.getAvailableSubnet() print(available_ips) s = socket.socket() s.connect((available_ips[0], 1055)) with open("Hello.txt", "rb") as f: data = f.read(1024) s.send(data) s.close() print("Done Uploading")
def start_server(): global file_list try: serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) serversocket.bind((network.ip(network.iface), 1055)) serversocket.listen(100) print("Binded Server") while True: try: clientsocket, addr = serversocket.accept() print("Connection from {}".format(addr)) d = clientsocket.recv(1024).decode("UTF-8") passwd = "" #print("D: {}".format(d)) for ln in d.split(";"): #print("CMD: {}".format(ln)) if "*" in ln: for i in file_list: clientsocket.send("File:{};".format(i).encode('UTF-8')) clientsocket.send("&".encode("UTF-8")) if "&" in ln: print("Closed") clientsocket.close() elif "^" in ln: file_name = ln[1:] print("Sizing: {}".format(file_name)) i = file_list.index(file_name) file_path = file_path_list[i] f_size = os.path.getsize(file_path) clientsocket.send("{}".format(f_size).encode("UTF-8")) elif "$" in ln: #print("Download") file_name = ln[1:] i = file_list.index(file_name) file_path = file_path_list[i] if passwd==server.server_password: print("Uploading: {}".format(file_path)) with open(file_path, "rb") as f: #print("Reading") while True: data = f.read(1048576) #print("Reading") if not data: break clientsocket.send(data) clientsocket.close() print("Sent") else: print("Wrong password") clientsocket.close() elif "'" in ln: #print("Password Access") password = ln[1:] passwd = password except Exception as e: print(e) except Exception: print("Server already running on host")
def __init__(self): self.ip = network.ip() self.done = False self.printer = Adafruit_Thermal("/dev/serial0", 19200, timeout=5) self.switch = Button(7) self.led = LED(18) self.button = Button(23) wheelpins = [26, 19, 13, 6, 5, 11, 9, 10] self.wheelbuttons = [Button(n) for n in wheelpins]
def getAvailableSubnet(): ip_addrs = network.ipRange(network.netmask(iface), network.ip(iface)) available = [] for i in range(len(ip_addrs)): try: s = socket.create_connection((ip_addrs[i], 1055), 0.1) available.append(ip_addrs[i]) s.close() except Exception as e: pass return available
def main(): if len(sys.argv)>=2 and sys.argv[1].lower()=="server": s = threading.Thread(target=server.start_server) s.setDaemon(True) s.start() while True: pass else: gui.build() gui.guiApp.setLabel(network.ip(network.iface)) server.s_thread = threading.Thread(target=server.start_server) server.s_thread.setDaemon(True) server.s_thread.start() gui.launch()
def get_file_list(): files = [] print(available_ips) #s = socket.socket() for ip in available_ips: print(ip) if ip==network.ip(network.iface): continue s = socket.socket() s.connect((ip, 1055)) print("Connecting for files") s.send("*;".encode("UTF-8")) loop = True while True: d = s.recv(1024).decode("UTF-8") #print(d) ds = d.split(";") for ln in ds: #print(ln) if "&" in ln: s.send("&".encode("UTF-8")) s.close() loop = False lncmd = ln[0:4].lower() lnarg = ln[5:] if lncmd=="file": files.append("{}, {}".format(ip, lnarg)) if loop==False: break """dcmd = d[0:4].lower() darg = d[5:-1].lower() if dcmd=="file": files.append(darg) if "&" in d: #print("Closing") s.send("&".encode("UTF-8")) s.close() break elif d=="R": print("Retreive") print("CMD:{} ARG:{}".format(dcmd, darg))""" s.close() return files
def main(): if len(sys.argv)>=2 and sys.argv[1].lower()=="server": s = threading.Thread(target=server.start_server) s.setDaemon(True) s.start() while True: pass else: #g = threading.Thread(target=gui.launch) #g.setDaemon(True) #g.start() gui.build() gui.guiApp.setLabel(network.ip(network.iface)) #print(type(network.ip("wlan0"))) #client.update_available_ips() #files = client.get_file_list() #gui.guiApp.setFiles(files) server.s_thread = threading.Thread(target=server.start_server) server.s_thread.setDaemon(True) server.s_thread.start() gui.launch()
def __init__(self): self.switch = Switch(True) self.ip = network.ip() self.generators = list(allgenerators) self.i = 1
def setLabelIP(self): self.setLabel(network.ip(network.iface))