소켓 프로그래밍에 대한 질문이 있습니다. 소켓 버퍼를 지우고 싶습니다. 나는 빈에 버퍼를 설정할 becase, 태그 위치에 다시 read()
을 사용하지 않으리눅스에서 소켓 버퍼를 지우는 방법
int ret_read = read(return_events[index].data.fd, recv_buffer, sizeof(recv_buffer));
if(-1 == ret_read)
{
if(EAGAIN != errno)
{
printf("read data from %d error occured, errno=%d, %s.\n", return_events[index].data.fd, errno, strerror(errno));
/**
Tag-position, I know buffer is not empty. I wonder clear buffer in code position.The buffer is socket recv buffer, is not recv_buffer.
*/
}
continue;
}
: 나는 다음 코드를 시도했다. 태그 위치에 read()
을 사용했지만, 실패 할 수도 있습니다.
태그 위치에 read()
을 제외하고 다른 방법으로 말할 수있는 사람이 있습니까?
다른 아니에요? 자신의'recv_buffer' 또는 소켓 수신 버퍼를 비우고 싶습니까? '태그 위치'는 무엇을 의미합니까? 'recv()'로부터 에러를 받았을 때 버퍼가 비어 있지 않다고 생각하는 이유는 무엇입니까? – EJP
나는 deja-vu를 가지고있다. 그 같은 질문은 몇 시간 전/일 전에 물었다. – Olaf
그리고 C++ 코드처럼 보이지 않습니다. ** ** 하나 ** 언어를 선택하십시오! – Olaf