def main(): """Main""" next_no = 0 exit_flag = False sin_port, sout_port, csin_port, file = checkCommandArgs() #sin socket sin = Server(IP, sin_port, BUFFER_SIZE) sin.accept() #sout socket sout = Client(IP, sout_port) sout.connect(IP, csin_port) open_file = File(file) buffer = PacketBuffer() sent = 0 while (not exit_flag): data, data_len = open_file.readBytes() pack = Packet(DATA_PACKET, next_no, data_len, data) if data_len == 0: exit_flag = True buffer.onqueue(pack) while True: sout.send(pickle.dumps(buffer.peek())) sent += 1 if not sin.receiveSecond(next_no): print("no responce or incorrect responce") continue print("response and checked") next_no += 1 buffer.dequeue() break open_file.close() sout.shutdown() sin.close() sout.close() print("sent: " + str(sent))