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

📄 client.c

📁 Linux下服务器即时通信客户端程序
💻 C
字号:
#include<stdlib.h>#include<unistd.h>#include <sys/types.h>#include <sys/socket.h>#include<stdio.h>#include <arpa/inet.h>#include<errno.h>#include<sys/select.h>intmain(int argc , char *argv[]){   struct sockaddr_in addr_in;   int sfd,ret;   char buf[100];   int n;   char buff[100];   fd_set sockset;   if ( argc != 2)   {	   perror( "command error");	   exit(0);   }   if (( sfd = socket(AF_INET, SOCK_STREAM, 0)) < 0){    perror("socket");   exit(1);   }      addr_in.sin_family = AF_INET;   addr_in.sin_port = htons(2008);   inet_pton(AF_INET, "192.168.1.57", &addr_in.sin_addr);   if (connect(sfd,  (struct sockaddr *)&addr_in, sizeof(addr_in)) < 0){    perror("connect");   exit(1);    }    write (sfd, argv[1], 100);   while(1){	   FD_ZERO(&sockset);	   FD_SET(sfd, &sockset);	   FD_SET(0, &sockset);  	  select(sfd+1, &sockset, NULL, NULL, NULL);	 if(FD_ISSET(sfd, &sockset)){		printf("receive message :\n"); 	   if((n = read(sfd, buff, sizeof(buff))) > 0)   	   if(write(1, buff, n) != n)		perror("write error");      }	   	 if(FD_ISSET(0, &sockset)){		printf("send message :\n");        if((n = read(0, buff, sizeof(buff))) > 0)   	   if(write(sfd, buff, n) != n)		perror("write error");      }		}	return 0;}

⌨️ 快捷键说明

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