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

📄 fooclient.c.bak

📁 基于socket的简单通讯程序
💻 BAK
字号:
#include	<sys/socket.h>
#include	<arpa/inet.h>
#include	<stdio.h>
#include	<sys/types.h>
#include	<sys/stat.h>
#include	<fcntl.h>
#include	<stdlib.h>	
#include	<string.h>	
#include	<unistd.h>
#define BUFLEN 1440*576

int
main(int argc,char ** argv)
{
	int sockfd,fd;
	int n;
	char *rcvbuf;
	struct sockaddr_in servaddr;
	char errmsg[]="echo doesn't function.\n";
	
	rcvbuf=(char *)malloc(sizeof(char)*BUFLEN);
	
	if(argc!=2){
		printf("%s <IP address>\n",argv[0]);
		exit(0);
	}
	
	fd=open("/home/out.dat",O_RDWR |O_CREAT,S_IEXEC|S_IWRITE);
	
	sockfd=socket(AF_INET,SOCK_STREAM,0);
	if(sockfd<0){
		fprintf(stderr,"socket creating error!\n");
		exit(1);
	}
	memset(&servaddr,0,sizeof(struct sockaddr_in));
	
	servaddr.sin_family=AF_INET;
	servaddr.sin_port=htons(7);

	if(inet_aton(argv[1],&servaddr.sin_addr)<=0){
		printf("inet_pton call error for %s\n",argv[1]);
		exit(0);
	}
	printf("Ip= %x\n",servaddr.sin_addr.s_addr);

	if(connect(sockfd,(struct sockaddr *)(&servaddr),sizeof(struct sockaddr_in))<0){
		printf("connect error\n");
		exit(2);
	}
/*	while(fgets(recmsg,BUFLEN,stdin)!=NULL){
		write(sockfd,recmsg,strlen(recmsg));
		printf("sent:%s",recmsg);
		strcpy(recmsg,errmsg);
		n=read(sockfd,recmsg,BUFLEN);
		if(n>0){
			recmsg[n]=0;
			printf("echo:%s",recmsg);
		}
		else if (n==-1){
			fprintf(stderr,"read error in client socket!\n");
			exit(3);
		}
	}
*/
	n=readn(sockfd,rcvbuf,BUFLEN);
	printf("ssize_t 's size if %d\n",sizeof(ssize_t));
	printf("n 's size if %d\n",sizeof(n));
	printf("read n=%d\n",n);
	
	if (n==-1){
			fprintf(stderr,"read error in client socket!\n");
			exit(3);
	}

//	add_rgbhead(rcvbuf,BUFLEN);

	write(fd,rcvbuf,BUFLEN);
	exit(0);

}

⌨️ 快捷键说明

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