Home » Linux网络编程 » TCP 客户端实现

TCP 客户端实现

编 辑:Y ┊ 时 间:2018年02月09日 ┊ 访问: 100 次
    /*
        客户端
    */
    //定义一个错误的宏定义函数
    #define ERR_EXIT(m) \
        do \
        { \
            perror(m);
            exit(EXIT_FAILURE);
        } while(0);
    
    int main(void)
    {
        int sock;
        if(sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) < 0)
            ERR_EXIT("socket");
    
        struct sockaddr_in servaddr;
        memset(&servaddr, 0 , sizeof(servaddr));
        servaddr.sin_family      = AF_INET;
        servaddr.sin_port        = htons(5188);
        servaddr.sin_addr.s_addr = inet_addr("127.0.0.1");  //地址转换
    
        if( connect(sock, (struct sockaddr *) &servaddr, sizeof(servaddr) ) < 0 )
            ERR_EXIT("connect");
    
        //存储数据
        char sendbuf[1024] = {0};
        char recvbuf[1024] = {0};
    
        while(fgets(sendbuf, sizeof(sendbuf), stdin) != NULL)
        {
            write(sock, sendbuf, strlen(sendbuf));
            read(sock, recvbuf, sizeof(recvbuf));
            fputs(recvbuf, stdout);   //打印
            memset(sendbuf, 0 ,sizeof(sendbuf));
            memset(recvbuf, 0 ,sizeof(recvbuf));
        }
    
        close(sock);
        return 0;
    }

源码:
02.c




Copyright © 2026 Y 版权所有.网站运行:13年238天21小时23分