打印

ubuntu下的TCP网络编程框架

[复制链接]
346|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
roucun|  楼主 | 2018-9-30 07:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*

  ******************************************************************************

  * @file    main.c

  * @author  Wang

  * @version V1.0.0

  * @date    9-August-2019

  * @brief   This file  call to function in other files

  ********************************************************************************

*/



/* Includes ------------------------------------------------------------------*/

#include <stdio.h>

#include <sys/types.h>

#include <arpa/inet.h>

#include <string.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <unistd.h>

#include <stdlib.h>



/*

  * @brief  main entry point

  * @param  argc : the number of param

  * @param  **argv : command-line pass arguments        

  * @retval return 0

*/

int main(int argc , const char **argv)

{

        int socket_fd;

        struct sockaddr_in server_addr;

        char buf[100] = {0};

        int n = 0 , len = sizeof(server_addr);



        if(argc != 3)

        {

                printf("Usage : %s ip port \n",argv[0]);

                return -1;

        }

        /*   use socket() obtain  sock_fd */

        socket_fd  = socket(AF_INET , SOCK_STREAM , 0);

        if(socket_fd < 0)

        {

                perror("Fail to socket");

        }



        /* Fill the information about server */

        server_addr.sin_family = AF_INET;

        server_addr.sin_port = htons(atoi(argv[2]));

        server_addr.sin_addr.s_addr = inet_addr(argv[1]);



        /* request connect server */

        if((connect(socket_fd , (struct sockaddr *)&server_addr , len)) < 0)

        {

                perror("Fail to connect");

                return -1;

        }



        printf("Please input data:\n");

        while(1)

        {

                memset(buf , 0 , sizeof(buf));

                fgets(buf,sizeof(buf),stdin);

                buf[strlen(buf) - 1] = '\0';

                n = send (socket_fd , buf , strlen(buf) , 0);

                if(n < 0)

                {

                        perror("Fail to send");

                        return -1;

                }

                if(strncmp(buf , "quit" , 4) == 0)

                        break;

                printf("send %d bytes : %s\n",n,buf);

        }

        close(socket_fd);



        return 0;

}



/**************************************END OF FILE**************************************/



复制代码

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

421

主题

446

帖子

0

粉丝