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

📄 client.c

📁 linux socket一个小小的代码
💻 C
字号:
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <netinet/tcp.h>
#include <time.h>
#include <signal.h>
int myread(int s,char *buff,int len)
{
	int leftlen=len,readlen=0;
	while(leftlen>0)
	{
		readlen=read(s,buff+len-leftlen,leftlen);
		leftlen=leftlen-readlen;
		if(readlen <=0)
		return 0;
	}
	return 1;
}

int mysend(int s,char *buff,int len)
{
	int leftlen=len,sendlen=0;
	while(leftlen>0)
	{
	    sendlen=write(s,buff+len-leftlen,leftlen);
	    leftlen=leftlen-sendlen;
	    if(sendlen <= 0)
	    return 0;
	}
	return 1;
}

main()
{
        struct sockaddr_in adr_srvr;
        int s,z;
        char buff_send[29467],buff_read[20];
        memset(&adr_srvr,0,sizeof(adr_srvr));
        adr_srvr.sin_family = AF_INET;
        adr_srvr.sin_port = htons(8888);
        adr_srvr.sin_addr.s_addr = inet_addr("168.68.1.29");
	  int on =1;
	  FILE *fb;

	 signal(SIGPIPE,SIG_IGN);
        s = socket(AF_INET,SOCK_STREAM,0);
	setsockopt(s,IPPROTO_TCP,TCP_NODELAY,(char*)&on,sizeof on);

        //strcpy(buff_send,"client mes");
        z = connect(s,&adr_srvr,sizeof(adr_srvr));
	  if ((fb = fopen("Blue.jpg","wb")) == NULL)
	  {
		printf("Create failer");
		exit(0);
	  }

        if (z == -1)
        {
                printf("connect failed\n\r");
                return 0;
        }

	//z = recv(s,buff_read,20,0);
	  z = recv(s,ntohl(buff_send),28468.2,0);
	 fwrite(buff_send,28468.2,1,fb);
	/*
	while(z>0)
        {	
	      flag++;
	      if(flag == 999999)
	      flag=0;
              z = recv(s,buff_read,20,0);
	      //if(z<=0)
	      //break;
		if (flag%100==0)
	      z =send(s,buff_send,20,0);
	      printf("buff =%s\n\r",buff_read);
	      usleep(10000);

        }
	*/

	{
	    time_t t;
	    struct tm *tm;
            time(&t);
	    tm = localtime(&t);
            printf("Day=%d,hour=%d,miniter=%d\n\r",tm->tm_mday,tm->tm_hour,tm->tm_min);
	}
	
	  close(fb); 		
        close(s);
        return 0;
}

⌨️ 快捷键说明

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