簡體   English   中英

協議特定的套接字創建和套接字選項信息

[英]Protocol specific Socket creation and socket option information

我正在嘗試創建一個sctp套接字,然后使用sctp_opt_info()檢索套接字選項信息。

我能夠成功創建特定的套接字,但是在套接字選項檢索中,我得到的值是-1,指示某些錯誤。 該錯誤是由於sctp_opt_info()的參數無效。

可以請一個人指導我怎么了。 為什么我為此呼叫得到-1而不是0(成功指示符)

int socket_desc;
struct sockaddr_in  sin[1]; 
unsigned int len;
int val1,val2; 
char s[100]; 

struct sctp_rtoinfo {
    sctp_assoc_t    srto_assoc_id;
    uint32_t        srto_initial;
    uint32_t        srto_max; 
    uint32_t        srto_min;
}rto;


socket_desc=socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP);
if (socket_desc==-1)
  printf("Socket Fail");

val1 = sctp_opt_info(socket_desc,IPPROTO_SCTP,SCTP_RTOINFO,&rto,&len);

printf("Erro : %d, \n", errno );
perror(s);
printf("Status opt info: %d\n",val1);

我將val1值設為-1表示存在問題。 錯誤表明sctp_opt_info()的參數無效。 我的猜測是此函數的參數二,雖然不確定。

任何幫助將不勝感激。

謝謝

lensctp_opt_info()的最后一個參數是一個值結果參數。 您必須至少將其初始化為您傳入的參數的長度,

len = sizeof rto;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM