これは、ソケット上のread
を反復処理する適切な方法ですか?私はこれを正しく動作させるのに苦労しています。 data.size
はunsigned int
で、ソケットからも入力されます。合ってます。 data.data
はunsigned char *
です。ソケットからread()を反復する
if (data.size > 0) {
data.data = (unsigned char*)malloc(data.size);
memset(&data.data, 0, data.size);
int remainingSize = data.size;
unsigned char *iter = data.data;
int count = 0;
do {
count = read(connect_fd, iter, remainingSize);
iter += count;
remainingSize -= count;
} while (count > 0 && remainingSize > 0);
}
else {
data.data = 0;
}
ありがとうございます。
特にブーストアシオ。 –
oops :-)これは、人が入力してコピー&ペーストしないときに起こります;-) – lothar