def client_upload(self): """ Client uploads one/some file(s), and gets the ack then. """ file_name_upload = self.get_al_file_nms() message = (1, 0, file_name_upload) print "The client will upload: ", file_name_upload # sent = self.sock.sendto(pickle.dumps(message), self.server_address) str_msg = pickle.dumps(message) # message (string) fragmentation frag_msg = frag.msg_fragmt(str_msg) # send for msg in frag_msg: sent = self.sock.sendto(msg, self.server_address) # set RTT rtt = 2 count = 0 alarm = time.time() + rtt #sock.settimeout(1) while True: ## Loop infinitely self.sock.settimeout(1) try: data, server = self.sock.recvfrom(1024) if data: print "200(OK)" break except socket.timeout: print "resend the file name to share:" str_msg = pickle.dumps(message) # message (string) fragmentation frag_msg = frag.msg_fragmt(str_msg) # send for msg in frag_msg: sent = self.sock.sendto(msg, self.server_address) count += 1 if count == 5: print "400(ERROR)" break
def send_msg(self, message, address): print "message!!!!!:", message str_msg = pickle.dumps(message) # message (string) fragmentation frag_msg = frag.msg_fragmt(str_msg) print "frag_msg!!!!!:", frag_msg # send for msg in frag_msg: sent = self.sock.sendto(msg, address) # set RTT rtt = 2 count = 0 alarm = time.time() + rtt #sock.settimeout(1) while True: ## Loop infinitely self.sock.settimeout(1) try: recv_message, server = self.sock.recvfrom(1024) if recv_message[1]: print "200(OK)" break except socket.timeout: print "resend the file name to share:" str_msg = pickle.dumps(message) # message (string) fragmentation frag_msg = frag.msg_fragmt(str_msg) # send for msg in frag_msg: sent = self.sock.sendto(msg, address) count += 1 if count == 5: print "400(ERROR)" break