zoukankan      html  css  js  c++  java
  • 基于TCP协议的客户端编程

    #include <netdb.h>
    #include <sys/socket.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <memory.h>
    #include <unistd.h>

    int main(int argc, char *argv[])
    {
        if (argc < 3)
        {
            printf("usage:%s ip port ",argv[0]);
            exit(1);
        }
        
        /*步骤1:创建socket*/
        int sockfd = socket(AF_INET,SOCK_STREAM,0)
        if (sockfd < 0)
        {
            perror("socket error");
            exit(1);
        }
        //往serveraddr中填入ip、port和地址族类型(ipv4)
        struct sockaddr_in serveradd;
        memset(&serveradd,0,sizeof(serveraddr));
        serveraddr.sin_family = AF_INET;
        serveraddr.sin_port = htons(atoi(argv[2]));
        //将ip地址转换成网络字节序后填入serveraddr中
        inet_pton(AF_INT,argv[1],&serveraddr.sin_addr.s_addr);
        
        /*  步骤2:客户端调用connect函数连接到服务器端*/
        if(connect(sockfd,(struct sockaddr*)&serveraddr,sizeof(serveraddr)) < 0  )
        {
           perror("connect error");
           exit(1);
        }    
        
        /*步骤3 : 调用IO函数(read/write)和服务器段进行双向通信*/
        char buffer[1024];
        memset(buffer,0,sizeof(buffer));
        size_t size;
        if((size = read(sockfd,buffer,sizeosf(buffer))) < 0  )
         {
            perror("read error");
         }    
         if(write(STDOT_FILENO,buffer,size) != size)
         {
            perror("write error");
         }
        
         /*步骤4 :关闭socket套接字*/
         close(sockfd);
        
        return 0;
    }




  • 相关阅读:
    pb数据窗口下拉数据窗口列的排序(翻译)
    pb重复行的检查(翻译)
    pb数据窗口如何按当前列的值过滤下拉数据窗口(翻译)
    PB中通过对象名获取对象并获取对象下的子对象
    有关医嘱中的bid,qd等执行频率
    pb数据窗口新增的列编辑后不会分行
    words
    here.less
    Springboot use tomcat JNDI
    genemotion
  • 原文地址:https://www.cnblogs.com/lvdh1314/p/6479029.html
Copyright © 2011-2022 走看看