📄 client.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 + -