免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 8007 | 回复: 10
打印 上一主题 下一主题

如何用socket传输文件???? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-04-22 14:52 |只看该作者 |倒序浏览
请教如何用socket传输文件????

论坛徽章:
0
2 [报告]
发表于 2003-04-22 15:01 |只看该作者

如何用socket传输文件????

用send和revice
网上又很多介绍

论坛徽章:
0
3 [报告]
发表于 2003-04-22 15:11 |只看该作者

如何用socket传输文件????

楼上的!你好!我指的是,交互式的传输。先互相验证身份,然后在客户端输入文件名,再将此文件传给服务器。

论坛徽章:
0
4 [报告]
发表于 2003-04-22 15:12 |只看该作者

如何用socket传输文件????

socket包最大好象是2048k(2M),这个你可以测试
所以传大文件时要一个包一个包的传
同时包里要带上包序(传到第几个包)作为握手信息
只有收到握手信息成功返回包时才发下一个次序包
否则重发上一个包
直至完成
那边收到所有包,将之合成文件

个人意见,供参考!

论坛徽章:
0
5 [报告]
发表于 2003-04-22 15:17 |只看该作者

如何用socket传输文件????

我想知道如何实现一个包一个包的传输?有例子吗?

论坛徽章:
0
6 [报告]
发表于 2003-07-04 21:23 |只看该作者

如何用socket传输文件????

[code]
  FILE *fp=fopen(file_name,"r";
    if (fp!=NULL)
    {
                                          fseek(fp,0,SEEK_END);
                                          long file_length=ftell(fp);
                                          sprintf(re_tmp,"11;%d",file_length);
            DebugPrint(re_tmp);
                                          write(skt,re_tmp,strlen(re_tmp)+1);
                                          size_t r_len;
                                          fseek(fp,0,SEEK_SET);

                                          while(!feof(fp)&&!ferror(fp))
                                          {
                                                  r_len=fread(buffer,1,sizeof(buffer),fp);
                                                  write(skt,buffer,r_len);
                                          }

                                                                fclose(fp);

论坛徽章:
0
7 [报告]
发表于 2003-07-04 21:26 |只看该作者

如何用socket传输文件????

[code]
FILE *fp;
                                fp=fopen(true_file_name,"wb";
                                int read_length=0;
                                int write_length=0;
                                if(fp!=NULL)
                                {
           for(;write_length<mail_Length
                                          {
                                            read_length=read(skt,buffer,sizeof(buffer));
        if(read_length==0)
                                                                                                        {
                                                                                                               
                                                                                                                                                                        break;
                                                                                                        }

                                                  write_length+=fwrite(buffer,1,read_length,fp);
                                                                                                                                                  }

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
8 [报告]
发表于 2003-07-07 10:56 |只看该作者

如何用socket传输文件????

unix高级版,精华区有个例子的。可以参考

论坛徽章:
0
9 [报告]
发表于 2003-07-07 17:49 |只看该作者

如何用socket传输文件????

"unix高级版,精华区有个例子的。可以参考",在那里,没找到,没贴出链接吗?

论坛徽章:
0
10 [报告]
发表于 2003-07-07 18:00 |只看该作者

如何用socket传输文件????

键盘兄说的可能是文件描述字传送

另外楼主这个问题你可以想想看如果是你应该什么做

然后先把自己的想法写出来
不懂了再交流

应该相信自己可以把它做出来 而 不要怀疑自己的能力想找个标准
一个问题有很多方法实现 只要你实现了就是好的 没有一个唯一方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP