client.c

来自「linux下开发的一款类似于QQ的网络聊天室」· C语言 代码 · 共 63 行

C
63
字号
#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 + =
减小字号Ctrl + -
显示快捷键?