TCP客户端阻塞方式

来源:互联网 发布:淘宝卖家信用度怎么升 编辑:程序博客网 时间:2024/06/06 14:16

只是想记录,以后可以复制粘贴仅此而已.
C语言代码:

#include <stdio.h>#include <errno.h>#include <sys/socket.h>#include <netinet/in.h>#include <netdb.h>#include <strings.h>int socket_init(const char *hostname, int port){    int sockfd = -1;    int error = -1;    struct hostent *host;    struct sockaddr_in server;    if (hostname == NULL){        printf("[%s][%s][%d] hostname is null!\n", __FILE__, __func__, __LINE__);        goto error;    }     host = gethostbyname(hostname);    sockfd = socket(AF_INET, SOCK_STREAM, 0);    if (sockfd == -1){        printf("[%s][%s][%d] socket failed!\n", __FILE__, __func__, __LINE__);        sockfd = -1;    } else {        server.sin_family = AF_INET;        server.sin_port = htons(port);        server.sin_addr = *((struct in_addr *) host->h_addr);        bzero(&(server.sin_zero), 8);        error = connect(sockfd, (struct sockaddr *) &server,            sizeof(struct sockaddr));        if (error == -1){            printf("[%s][%s][%d] socket failed!\n", __FILE__, __func__, __LINE__);            sockfd = -1;        }    }    return sockfd;error:    return -1;}
原创粉丝点击