SCTP 소켓에 도착한(수신받은) 데이터가 있는지 확인하는 방법을 찾고 있습니다.
글쓴이: markman / 작성시간: 월, 2009/12/14 - 10:40오후
안녕하세요.
리눅스에서 SCTP소켓을 생성하여 프로그램을 만들고 있습니다.
SCTP 라이브러리(sctplib)와 Socket API 라이브러리(socketapilib)는 모두
http://www.sctp.de/sctp-download.html에서 다운받아 설치했습니다.
설명을 돕기 위해 작성중인 소스 일부를 보시기 바랍니다.
함수앞에 'ext_'가 붙은 것은 SCTP Socket API 라이브러리에 정의된 함수입니다.
int fd, msg_len = 0; fd = ext_socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP); // SCTP 소켓생성 -> OK : ext_ioctl(fd, FIONREAD, &msg_len); // 소켓에 도착한 데이터가 있는지 확인 -> NOK
TCP소켓은 ioctl(fd, FIONREAD, &msg_len) 과 같이 하여 도착한 데이터가 있는지
확인을 할 수 있는데, SCTP소켓은 에러가 발생합니다.
(errno가 95이고 strerror함수를 사용하여 나타내면 'Operation not supported' 라고 합니다.)
SCTP소켓에 도착한 데이터가 있는지 확인할 수 있는 방법이 없을까요?
알려주시면 고맙겠습니다.
Forums:
댓글 달기