0
我正在UNIX中執行一個TCP套接字程序,但是當我讀取/ recv時,它總是返回相同的數據。服務器發送三層結構,我只在看第一個和超過套接字客戶端一遍又一遍讀取相同的數據
int n_aux = 1;
while(n_aux > 0)
{
struct trama mensajeaux;
n_aux = recv(socket_cliente, &mensajeaux, sizeof(struct trama), 0);
if(n_aux < 0)
{
printf("\nError al leer del buffer\n");
return -1;
}
printf("\nMensaje recibido, tipo: %d, n: %d, v: %d, c: %d, origen: %d\n", mensajeaux.tipo, mensajeaux.x, mensajeaux.y, mensajeaux.z, mensajeaux.origen);
}
@downvoter請解釋。 – EJP
真正足夠避免錯誤,但不能解釋爲什麼OP獲得相同的結構。通常它會返回小數據的整個數據 –
@BugKiller如果他只接收到結構的前綴,而不是他正在打印的內容,那麼它實際上可以完全解釋它,並且是真實的。 – EJP