• 大小: 3KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: 其他
  • 标签: nfs  arm  mini2440  

资源简介

把tcp服务器端放在虚拟机上后台运行就不用管了,然后tcp客户端程序放到开发板上,当要获取虚拟机上的程序时,直接运行./tcp_client /opt/xx.xx 后面那个参数是文件路径和文件名。然后客户端会自动下载文件到当前运行的目录。测试了一下3M的文件,效果还不错,一下就穿完了。当再次需要获取文件时,只需再运行./tcp_client /opt/xx.xx 即可,虚拟机端不用动。虽然没什么技术含量,但确实帮我省了不少事,所以就写下来了,如果你也有一样的烦恼不妨也自己写一个吧。

资源截图

代码片段和文件信息

  #include
   #include
   #include
   #include
   
   #include
   #include
   #include//close()
   #include//struct sockaddr_in
  #include//inet_ntoa
  
  #define DEST_PORT 8001
  #define DEST_IP_ADDRESS “192.168.1.232“
  
  /*¿Í»§¶ËµÄŽŠÀí¹ý³Ì*/
 
char * indexLastofString(char *strchar c)
{
int len=0iktemp=0flag=0;
char *s;
s=str;
while(*s++)
len++;
s=str;
//len=strlen(str);
//printf(“len %d\n“len-1);
for(i=len-2;i>=0;i--)
{
if(str[i]==c)
{
    temp=i;
    flag=1;
          //  printf(“temp %d\n“temp);
    break;
}
}
if(flag)
{
for(k=0;k<=len-temp;k++)
{
*s++=str[temp+1+k];
}
*s=‘\0‘;
}
else 
{
*s=‘\0‘;
}
return str;

  int main(int argcchar **argv)
  {
int sock_fd;
int flag=0;
int data_len;
FILE *stream;
          int send_num;
          int recv_num;
         char send_buf[50];
          char recv_buf[1024];
char   remes[50];
char *filename;
int k;

 if(argc!=2)
   {
       printf(“参数错误,清输入两个参数\n“);
      exit(1);
    }
memset(remes050);
strcpy(send_buf“/root/Desktop/“);
strcat(send_bufargv[1]);
          
          struct sockaddr_in addr_serv;//·þÎñÆ÷¶ËµØÖ·
  
          sock_fd = socket(AF_INETSOCK_STREAM0);
          if(sock_fd < 0){
                  perror(“sock“);
                  exit(1);
          } else {
                  printf(“sock sucessful:\n“);
          }
          memset(&addr_serv0sizeof(addr_serv));
          addr_serv.sin_family = AF_INET;
          addr_serv.sin_port =  htons(DEST_PORT);
          addr_serv.sin_addr.s_addr = inet_addr(DEST_IP_ADDRESS);
         if( connect(sock_fd(struct sockaddr *)&addr_servsizeof(struct sockaddr)) < 0)
         {
                  perror(“connect“);
                  printf(“connect (%d)\n“errno);
                  exit(1);
         } 
         else
          {
                  printf(“connect sucessful\n“);
         }

                  printf(“begin send %s\n“send_buf);
                  send_num = send(sock_fdsend_bufsizeof(send_buf)0);
                  if (send_num < 0){
                          perror(“send“);
  printf(“send failure\n“);
                          exit(1);
                  } 
  else 
 {
                          printf(“send sucess:%s\n“send_buf);
             }

       recv_num = recv(sock_fdremes70);
                  if(recv_num < 0){
                          perror(“recv“);
                          exit(1);
                  }
 else
 {
                          //remes[recv_num]=‘\0‘;
                          printf(“recv sucess:%s to find the file %d \n“remesrecv_num);
  if(!strcmp(remes“failure“))
  {
printf(“the service have not the file please select the right file again\n“);
exit(1);
  }
  if(!strcmp(remes“success“))
  {
printf(“ready to get file“);
  }
  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        4306  2014-05-07 11:53  tcpfile\tcp_client.c
     文件        4542  2014-05-07 12:10  tcpfile\tcp_server.c
     目录           0  2014-05-07 12:33  tcpfile\

评论

共有 条评论