-1
accept(sockfd,(struct sockaddr *)&srv,sizeof(srv))
通過接受做一個指向整數的論點三無鑄造接受()傳遞參數3接受做一個指向整數,未作鑄
我想使用接受功能,但我得到這個錯誤。 有人可以幫我嗎? 我在網絡編程新
accept(sockfd,(struct sockaddr *)&srv,sizeof(srv))
通過接受做一個指向整數的論點三無鑄造接受()傳遞參數3接受做一個指向整數,未作鑄
我想使用接受功能,但我得到這個錯誤。 有人可以幫我嗎? 我在網絡編程新
閱讀man page,它說
的addrlen中參數是一個值結果參數:調用者必須初始化它包含的大小(以字節爲單位)的結構,指出由addr;在返回時它將包含對等地址的實際大小。
所以,你需要這樣的事情(從bind() man page採取代碼):
socklen_t peer_addr_size;
peer_addr_size = sizeof(struct sockaddr_un);
cfd = accept(sfd, (struct sockaddr *) &peer_addr,
&peer_addr_size);
閱讀[接受男人頁(http://linux.die.net/man/2/accept) 。 「addrlen參數是一個值結果參數:調用者必須初始化它以包含由addr指向的結構的大小(以字節爲單位);返回時它將包含對等地址的實際大小。」也就是說,第三個參數需要是一個指針。 – kaylum