tcp_cli.c

来自「Unix/Linux下服务端/客户通过TCP/IP通讯的程序」· C语言 代码 · 共 68 行

C
68
字号
#include "tcp.h"main(argc, argv)int argc;char *argv[];{	int sockfd,newsockfd ;	int clilen, childpid;	struct sockaddr_in serv_addr, cli_addr;	/**** 	Internet Address Family: AF_INET 		scoket type : SOCK_STREAME 		***/	if( (sockfd = socket( AF_INET, SOCK_STREAM,0)) < 0 ) 		err_sys( "client: can't open socket " ) ;	printf( "TCP SOCKET IS SUCCESS LOAD IN!\n" );	bzero( (char *)&serv_addr, sizeof(serv_addr ) );	serv_addr.sin_family = AF_INET;		serv_addr.sin_addr.s_addr = inet_addr( TCP_SERV_ADDR );		serv_addr.sin_port = htons( TCP_PORT );		if( connect(sockfd,(struct sockaddr *)&serv_addr, sizeof(serv_addr))<0) 		err_sys( "client:can't connect to server" );	printf( "CONNECT TO %s SUCCESS!\n " , TCP_SERV_ADDR );	cli_con(sockfd);	close( sockfd );}cli_con( fd )int fd;{	int n;	char s[1024];	FILE *fp;	char sendline[MAXLINE], recvline[MAXLINE+1];		if ( (fp=fopen( "./textin", "r" )) == NULL )		err_sys( "can't open file ./textin" );	while( fgets( sendline, MAXLINE, fp )!= NULL ){		n = strlen(sendline);		printf( "%s\n", sendline );		printf( "write to server return %d\n", write( fd, sendline,n)); /*		if ( writen(fd, sendline, n) != n ) 			err_sys( "clr_con:write to sockfd error!" );		n = readline( fd , recvline, MAXLINE );		if ( n < 0 )			err_sys( "str_con:read from sockfd error!" );		recvline[n] = '\0';		fputs( recvline, stdout );*/	}	printf( "please put the message you will sent:\n" );	read(1,s,100);		fclose(fp);}err_sys(s)char *s;{	printf( s );	exit(0);}

⌨️ 快捷键说明

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