HwjVK 2021-07-14 21:05 采纳率: 66.7%
浏览 970
已采纳

Linux下socket编程bind一直返回-1

找了2天,找不到是哪有问题诶。

img

#include
#include<sys/socket.h>
#include<netinet/in.h>//sockaddr_in#include<arpa/inet.h>//htons inet_addr
#include<unistd.h>//closeusing namespace std;
int main(int argc,char const * argv[]){
int sockfd; if((sockfd=socket(AF_INET,SOCK_DGRAM,0)==-1))
{
cout<<"ERROR"<<endl;
return -1;
}
//step 2
sockaddr_in serveraddr; serveraddr.sin_family=AF_INET; serveraddr.sin_addr.s_addr=inet_addr(argv[1]); serveraddr.sin_port=htons(atoi(argv[2]));
cout<<"test"<<endl;
//step 3
if(bind(sockfd,(sockaddr*)(&serveraddr),sizeof(serveraddr))==-1)
{
cout<<"Failed to bind"<<endl;
}
return 0;
}

  • 写回答

3条回答 默认 最新

  • peng450 2021-07-16 18:16
    关注

    你得看看 errno 的值吧?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已采纳回答 7月16日
  • 创建了问题 7月14日