⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.c

📁 linux下开发的一款类似于QQ的网络聊天室
💻 C
字号:
#include "main.h"#define MAX 1024node head;void thread_1(node *ptr){	char buff[MAX];	int socket=ptr->sockfd;		while(fgets(buff,sizeof(buff),stdin)!=NULL)	{		send(socket,buff,strlen(buff),0);	}	close(socket);	pthread_exit(NULL);}	void thread_2(node *ptr){	char buff[MAX];	int n;	int socket=ptr->sockfd;		while(1)	{		memset(buff,0,sizeof(buff));		n=read(socket,buff,MAX);		if(n<=0)		{			perror("closed");			exit(0);		}		else			printf("%s",buff);	}	close(socket);	pthread_exit(NULL);}int main(int argc,char *argv[]){	short int port=8080;	struct sockaddr_in pin;	int sock_fd;	pthread_t tid[2];	signal(SIGPIPE,SIG_IGN);	signal(SIGCHLD,SIG_IGN);	bzero(&pin,sizeof(pin));	pin.sin_family=AF_INET;	inet_pton(AF_INET,"127.0.0.1",&pin.sin_addr);	pin.sin_port=htons(port);	sock_fd=socket(AF_INET,SOCK_STREAM,0);	connect(sock_fd,(void*)&pin,sizeof(pin));	head.sockfd=sock_fd;	pthread_create(&tid[0],NULL,(void*)thread_1,&head);	pthread_create(&tid[1],NULL,(void*)thread_2,&head);	pthread_join(tid[0],NULL);	pthread_join(tid[1],NULL);	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -