客户端:
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <fcntl.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>
#include <poll.h>
#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <signal.h>
#include <poll.h>
#define SIZE 64
int main(int argc, char *argv[])
{
int sockfd = socket(AF_INET, SOCK_STREAM, 0);//创建网络通信接口
if(-1 == sockfd)
{
perror("socket");
return -1;
}
printf("sockfd=%d\n",sockfd);
struct sockaddr_in saddr;//服务器的地址结构
bzero(&saddr,sizeof(saddr));//memset()
saddr.sin_family = AF_INET;//指定协议族ipv4
saddr.sin_port = htons(9999);//端口号:5001~65535
saddr.sin_addr.s_addr = inet_addr("127.0.0.1 ");//ip地址 点分式 -> 二进制网络字节序
int ret = connect(sockfd, (struct sockaddr *)&saddr, sizeof(saddr));//绑定 将服务器的ip和port与sockfd绑定
if(-1 == ret)
{
perror("connect");
close(sockfd);
return -1;
}
printf("connect success\n");
//通信
char buf[SIZE] = {0};
struct pollfd fd[1024]={0};
fd[0].fd=0;
fd[0].events=POLLIN;
fd[1].fd=sockfd;
fd[1].events&#