Возникла проблема с получением данных:
Сервер на python. Получает и обрабатывает данные и отправляет результат:
def server(net, host, port):
sock = socket.socket()
sock.bind((host, port))
sock.listen(1)
print('Server start...')
while True:
c, addr = sock.accept()
print('Got connection from ', addr)
print('Receiving...')
f = open('pic', mode='wb')
rcvData = c.recv(BLOCK_SIZE)
f.write(rcvData)
while (rcvData):
print('Receiving...')
rcvData = c.recv(BLOCK_SIZE)
f.write(rcvData)
f.close()
print('Done receiving!')
img = cv2.imread('pic')
objLoc = getCaption(net, img)
print('processing is done')
writeObjLocToCsv(objLoc, 'objs')
z = open('objs', 'rb')
l = z.read(BLOCK_SIZE)
print(l)
print('send...')
print c.send(l)
c.close()
Клиентская часть реализована на Qt.
Проблема в том, что не могу получить данные с сервера.
void Client::getCaption(QString &img)
{
pmSock = new QTcpSocket(this);
pmSock->connectToHost("127.0.0.1",12343);
sendQImage(img);
pmSock->waitForBytesWritten();
reciveData();
}
void Client::reciveData()
{
QString recvData;
//qDebug() << pmSock->waitForReadyRead(0);
qDebug() << "Reading: " << pmSock->bytesAvailable();//всегда 0
qDebug() << pmSock->readAll();
pmSock->close();
}