一对多,服务器使用多进程
##服务器代码
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
typedef struct sockaddr SA; //通用地址信息结构
typedef struct sockaddr_in SIN; //基于网络层的地址信息结构
#define PORT_NUM 10000 //端口号
#define SERVER_IP "192.168.1.22" //IP地址
/*多进程服务器*/
int main(int argc, const char *argv[])
{
int serfd;//服务器套接字描述符
SIN seraddr;//存放服务器地址信息
int ret;
int clifd;//连接上的客户端的套接字描述符
SIN cliaddr;//存放连接上的客户端的地址信息
socklen_t addrlen;//指向客户端地址信息长度的指针
char r_buf[1024] = {
0};//接受缓存区
int recv_len;//实际接收到的数据长度
pid_t p_ret;
int reuse = 1;
/*创建一个套接字*/
serfd = socket(AF_INET,SOCK_STREAM,0);//返回套接字描述符
if(serfd == -1)
{
perror("socket fail");
exit(-1);
}
/*服务器地址信息*/
bzero(&seraddr,