0
我想設置SCTP_MAX_BURST使用下面的代碼如何爲關聯設置SCTP_MAX_BURST?
struct sctp_assoc_value assocValue;
memset(&assocValue, 0, sizeof(assocValue));
assocValue.assoc_value = getMaxBurstValue();
setsockopt (fd, IPPROTO_SCTP, SCTP_MAX_BURST, &assocValue, sizeof (assocValue));
當我執行的代碼,我收到以下錯誤: 「沒有這樣的文件或目錄」
誰能幫助我的可能原因爲失敗?
當我改變IPPROTO_SCTP到SOL_SOCKET,我沒有得到任何錯誤,我打包設置值,getsockopt也顯示我設置的任何值,但我不知道這是一個正確的方式setsockopt(FD, SOL_SOKCET,SCTP_MAX_BURST,&assocValue,sizeof(assocValue)); – jhon
@jhon,根據RFC 6458,套接字必須是多對一的風格: int sock = socket(AF_INET,SOCK_SEQPACKET,IPPROTO_SCTP); 並且它是一個SCTP級別的選項 int rc = setsockopt(sock,IPPROTO_SCTP,SCTP_MAX_BURST,&assocValue,sizeof(assocValue)); 通過選擇不同的級別,您將獲得一個SOL_SOCKET級別的選項,它恰好與SCTP級別的枚舉具有相同的整數值。 –
- 在RFC 6458中提到它必須有很多才能設置MAX_BURST?我試圖找出,但無法得到的? – jhon