server.c
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<pthread.h>
#include<arpa/inet.h>
#define MAX_BUF 50
#define NAME 20
#define REMIND 50
typedef struct Users
{
char name[NAME];
int use_sock;
pthread_t tid;
struct sockaddr_in use_addr;
}Users;
Users user[MAX_BUF];
size_t user_count = 0;
void* run(void* arg)
{
int use_sock = *(int *)arg;
int index = 0;
char buf[4096] = {
};
size_t buf_size = sizeof(buf);
for(int i=0;i<MAX_BUF;i++)
{
if(use_sock==user[i].use_sock)
{
index = i;
break;
}
}
recv(use_sock,buf,buf_size,0);
strcpy(user[index].name,buf);
sprintf(buf,"欢迎%s来到聊天室^.^",user[index].name);
puts(buf);
for(int i=0;i<MAX_BUF;i++)
{
if(0!=user[i].use_sock&&use_sock!=user[i].use_sock)
{