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

📄 socket_client.c

📁 scounix编译通过,c/s完整实现
💻 C
字号:
/*	Exam:测试建立一个客户端程序*/#include	<fcntl.h>#include	<netinet/in.h>#include	<arpa/inet.h>#include	<sys/types.h>#include	<sys/socket.h>static		int		sockfd ;static		void		err_dump(char *) ;#define		HOST_ADDR	"192.168.10.119"#define		HOST_PORT	6000void main(int argc, char *argv[]){	struct 	sockaddr_in	 serv_addr ;	/* 要联系目的主机的信息 */		int 	sockfd ;			/* 客户端要创建的socket.fd */	int	connectfd ;			/* 与目的主机连接标志 */	int	bindfd ;			/* bindfd */	int	writefd ;			/* 向目的主机发送数据标志 */	int	n ;				/* 得到目的主机数据长度 */	char	packet[9999] ;			/* 发送目的主机数据 */	char	bpacket[9999] ;	char	recepack[6] ;			/* 接受目的主机的数据 */	char	quit[] = {'q', '\0'} ;	bzero(packet, 			sizeof(packet)) ;	bzero(bpacket, 			sizeof(bpacket)) ;	bzero(recepack,			sizeof(recepack)) ;	bzero((char *)&serv_addr, 	sizeof(serv_addr)) ;	bindfd = 0 ;	/* 复制相关信息到目的主机 */	serv_addr.sin_family       = PF_INET;	serv_addr.sin_addr.s_addr  = inet_addr(HOST_ADDR);	serv_addr.sin_port         = htons(HOST_PORT);	for( ; ; ) {		/* 建立本地请求端socket */		if( (sockfd = socket(PF_INET, SOCK_STREAM, 0)) < 0 ) {			err_dump( "Socket Error." ) ;			exit( 1 ) ;		}		/* 与服务器建立连接 */ 		if( (connectfd = connect(sockfd,(struct sockaddr *)&serv_addr, sizeof(serv_addr))) < 0 )		{			err_dump( "connect error." ) ;			exit( 1 ) ;		}		printf( "input string to send or 'q' to quit.\n" ) ;		gets( packet ) ;		if( strcmp(packet,quit)==0 )			exit( 0 ) ;		/* 向目的主机发送数据 */		if( (writefd = write(sockfd, packet, strlen(packet))) < 0 ) {			err_dump( "write error." ) ;			exit( 1 ) ;		}		printf( "sockfd=%d,bindfd=%d,connectfd=%d,writefd=%d.\n",\		      sockfd,bindfd,connectfd,writefd ) ;		/* 读回应信息 */		bzero(recepack, sizeof(recepack)) ;		read(sockfd, recepack, 80) ;		n = strlen( recepack ) ;		printf( "Read data from server lenth=[%d].\n", n ) ;		printf( "Sth of packet from server:%s.\n", recepack ) ;		close( sockfd ) ;	}}voiderr_dump(char *string){	printf( "%s\n", string ) ;	perror( "System Error Message:" ) ;	close( sockfd ) ;	return ;}

⌨️ 快捷键说明

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