【问题标题】:bind() Failed: Invalid argumentbind() 失败:参数无效
【发布时间】:2015-11-03 21:59:13
【问题描述】:

首先尝试使用socket prog。为什么我得到这个错误有什么帮助?这是我的服务器端代码,直到绑定部分(不包括监听等) 提前谢谢

int main(){
    unsigned int s; //returned by socket()
    int port; //port number
    int n; //fore read() & write()
    int newsockfd; //returned by accept()
    struct sockaddr_in server , client;
    socklen_t clntLen;             // Length of client address data structure
    s = socket(AF_UNIX, SOCK_STREAM,0);
    if(s==-1){
            perror("Socket was not created\n");
            return 0;
    }
    printf("Socket successfully created! ID: %d\n",s);
        //sockaddr_in structure
    memset( &server, 0, sizeof(server) ); // Zero structure
    server.sin_family = AF_INET;
    server.sin_addr.s_addr =  htonl(INADDR_ANY);
    server.sin_port = htons( 8888 );

        //Bind
    if( bind(s,(struct sockaddr *)&server , sizeof(server)) < 0){
     //print the error message
          perror("Bind failed! Error");
            return 1;
}
    printf("Bind completed successfully\n");

}

【问题讨论】:

    标签: c sockets bind invalid-argument


    【解决方案1】:

    在对 socket() 的调用中使用 AF_INET 而不是 AF_UNIX。

    【讨论】:

    • 太快了!谢谢^_^
    猜你喜欢
    • 2020-09-16
    • 2021-09-22
    • 2010-12-09
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 2019-04-27
    • 1970-01-01
    相关资源
    最近更新 更多