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;
}
运行结果如下: