Server:
设置可聊天数为5,为每一个client创建一个线程,这个线程负责接收client的聊天内容并发给其他用户看。
用mutex同步各个线程修改聊天室空余聊天位。
Client:
主线程负责向server发送自己的内容,开一个线程负责接收server发过来别人聊天的内容。
client.c
#include <sys/types.h> #include <sys/socket.h> #include <sys/wait.h> #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <sys/un.h> #include <sys/time.h> #include <sys/ioctl.h> #include <unistd.h> #include <netinet/in.h> #include <arpa/inet.h> #include <pthread.h> char recv_buf[1500],send_buf[1024]; void pthread_function(void* sock_fd){ int sockfd=*(int*)sock_fd; long recvbytes; while(1) { if((recvbytes=recv(sockfd,recv_buf,1500,0))==-1){ printf("recv error"); exit(1); } else{ recv_buf[recvbytes]='