网络编程day7socket编程

client

  client.c的作用是从命令行参数中获得一个字符串发给服务器,然后接收服务器返回的字符串并打印。

/*************************************************************************
    > File Name: client.c
    > Author: sunxingying
    > Mail: 1159015605@qq.com 
    > Created Time: 2017年05月24日 星期三 05时43分20秒
 ************************************************************************/
#include<string.h>
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#define SERV_IP "127.0.0.1"
#define SERV_PORT 6666
int main(void)
{
    int cfd;
    char buf[1024];
    struct sockaddr_in serv_addr;
    socklen_t serv_addr_len;
    cfd=socket(AF_INET,SOCK_STREAM,0);
    int n;

    memset(&serv_addr,0,sizeof(serv_addr));
    serv_addr.sin_family=AF_INET;
    serv_addr.sin_port=htons(SERV_PORT);
    inet_pton(AF_INET,SERV_IP,&serv_addr.sin_addr.s_addr);
    connect(cfd,(struct sockaddr *)&serv_addr,sizeof(serv_addr));
    while(1)
    {
        fgets(buf,sizeof(buf),stdin);
        write(cfd,buf,strlen(buf));
        n=read(cfd,buf,sizeof(buf));
        write(STDOUT_FILENO,buf,n);
    }
    close(cfd);
    return 0;
}

运行结果如下:

这里写图片描述

posted @ 2017-05-24 21:28  乐天的java  阅读(30)  评论(0)    收藏  举报