1.多线程服务器的实现是在多进程服务器的基础上增改了一些功能
创建流程:
1.套接字的创建,ip地址初始化
2.bind使套接字与主机捆绑
3.listen()建立监听;
4.通信模块:read函数将读取的数据保存在数组中
5.主函数:调用函数完成套接字的创建等基本步骤
accept函数
创建线程,对通信模块的调用
#define IP "0"
#define PORT 7777
#define BACKLOG 1000
//初始化服务器
int init_sever(char *ip,int port,int backlog)
{
int listenfd = socket(PF_INET,SOCK_STREAM,0);
if(-1 == listenfd)
{
perror("listen");
exit(-1);
}
struct sockaddr_in seraddr = {0};
seraddr.sin_family = PF_INET;
seraddr.sin_port = htons(port);
seraddr.sin_addr.s_addr = inet_addr(ip);
//地址复用
int opt = 1;
setsockopt(listenfd,SOL_SOCKET,SO_REUSEADDR,&opt,sizeof(opt));
//连接主机
int ret = bind(listenfd,