Python から C/C++ コード側に大きな固定サイズのバッファを送信する必要があります。Python 側からは、次の形式のバッファがあります。
array = np.zeros([1000], dtype=np.uint8)
array = fill(array)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('localhost', 1010))
以下のコードは、C/C++ 側から接続されたソケットからデータを受信するために使用されます。残念ながら、私はそれを行う方法を見つけていません。一般的np.tofile()
に - 必要なものを作成しますが、ファイルに入れます。
int recvBuffer(uint8_t *p_buff, uint32_t size, int socket)
{
uint32_t recived = 0;
uint8_t *p_curr = p_buff;
while (recived < size)
{
int ret = recv(tcp_sock, p_curr, size - recived, 0);
if (ret != -1)
{
p_curr += ret;
recived += ret;
}
else
{
return false;
}
}
return true;
}