данные не поступают на сервер python

#python #qt #sockets #server

#питон #qt #розетки #сервер

Вопрос:

я создаю программу резервного копирования, я отправляю все данные с помощью tcp-сокетов на C , но даже когда в моих журналах говорилось, что данные отправляются, они не поступают на мою сторону python, честно говоря, я не знаю, чего мне не хватает, я получал данные и создавал файл несколько дней назад, кто-нибудь может взглянуть на это?

Идея состоит в том, чтобы отправить файл и данные файла, затем сервер получает их и создает папку с датой и временем и создает файл внутри, это может быть 1 файл или 1000 файлов

Клиент C , он отправляет данные

 void Server::Tcp_Send(QString File_Data){  Gen L;  QString Ip("192.168.1.68");  QString filename, data_info, size, size_8_Byte;  qint64 filesize;  quint64 x = 0;    bool yes = false;  QByteArray block, block_file;  filename.append("Data/"   File_Data);  QFile Archivo(filename);    if (Tcp_socket-gt;state() == QAbstractSocket::UnconnectedState){  L.log("Before conecction");  Tcp_socket-gt;connectToHost(Ip, 7000, QIODevice::WriteOnly);  Tcp_socket-gt;waitForConnected();  QDataStream salida(Tcp_socket);   Archivo.open(QIODevice::ReadOnly);  block_file = Archivo.readAll();  block.append(block_file);  filesize = Archivo.size();  Archivo.close();  data_info = File_Data   "lt;SEPARATORgt;"   QString::number(filesize)   "lt;SEPARATORgt;";  block.prepend(data_info.toUtf8());   size = QString::number(block.size());  size_8_byte = size.rightJustified(8, ' ');  block.prepend(size_8_byte.toUtf8());  if (Tcp_socket-gt;isValid()){   L.log("before sending data");  salida.writeRawData( (char*)(block.data()), block.size() );  yes = Tcp_socket-gt;flush();  Tcp_socket-gt;waitForBytesWritten();  L.log(block.data());  if (yes == true) {L.log("Data Send");} else {L.log("The Data was not send"); }  L.log ("Coneection terminated");  }  }   }  

сторона python, это сторона сервера

 def servidor(): # handler principal  print (f"Iniciando el Servidor Sockets")  print (f"Current IP Addres: "   get_ip())  log("Iniciando servidor")  server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  server.bind((get_ip(), 8000)) # set server ip and port  server.listen(2) # number of connectios allowed  conn, address = server.accept() # Accept the Client connection  # add the separator lt;SEPARATORgt; to diferentiate betwenn files  # send filename first, then size and the file itself last  upack = struct.Struct('8s') # codificacion erase all the 8s's  msg = b'' # same as above, erase all the b's   while True:  #while not msg == 'lt;FINALgt;':  # data_info = conn.recv()  # log(data_info)    while True:  #1024 is the bandwidth bits   try:  while len(msg) lt; 8:  try:  msg  = conn.recv(100)   except:  break  sice = upack.unpack(msg[:8])[0]  sice = int(sice.decode("utf-8").strip()) # decodificacion en utf-8  msg = msg[8:]  #while not msg == 'lt;FINALgt;':  while (msg): # creacion y escritura del archivo  try:  msg  = conn.recv(1024) # 1024    except:  break  log(msg)  filename, filesize, file_Data = msg.split("lt;SEPARATORgt;") # split the name and size of file and file data itself  filename, no_use = filename.split(".") # the extension its been send i need to fix that later  file_name = crear_directorio()   filename   '.db'  print (file_name)  file = open(file_name, 'wb') # open file for writing in binary  file.write(file_Data)  file.close()  log("archivo "   filename   ".db creado")  #log(file_Data)  except:  print (f"coneccion terminada")  log("Conneccion Terminada por el cliente")  

Комментарии:

1. это похоже на то, что ваш сервер python прослушивает порт 8000, в то время как клиент C пытается подключиться к порту 7000