|
![]() | 作者: peter [peter]
![]() |
登录 |
用VB来实现局域网进行文件传输,一般用那几种方法??Winsock~~~??建立UDP还是TCP 还是用API函数。。如想整上文件夹发送又怎知实现。。望各位大哥能提供方法,意见 ![]() ![]() |
地主 发表时间: 05-05-11 14:26 |
![]() | 回复: 286 [unique] ![]() |
登录 |
RPC,重定向,映射驱动器,HTTP,FTP,mailslot,pipe,TCP,UDP,ICMP,COM口,API,移动硬盘,软盘,刻录光盘,U盘,纸笔,口述。 |
B1层 发表时间: 05-05-12 08:55 |
![]() | 回复: peter [peter] ![]() |
登录 |
~~呵~~~~,RPC,重定向,mailslot,pipe 小弟对这四个东东(RPC,重定向:有少少听过和看过一下有关的鸟鸟),好像没怎么了解,虽然对我想知道的问题没什么帮忙,但我还是想知道一下这四个东东,,能浅谈一下吗? 但还是要提一下。。。能对我上面的问题正面一点的意见吗!!麻烦各位啦~~~ ![]() ![]() |
B2层 发表时间: 05-05-13 11:15 |
![]() | 回复: wxngzybb [wxngzybb] ![]() |
登录 |
rpc是远程调用,调用系统自定义的服务可以传输文件,不用自己编细微的传输程序 重定向把连接的输入输出定向到指定区域 映射驱动器就是常见的netbios共享,net use命令行很方便实现 pipe是管道技术,将管道定向到sock接口 mailslot使用邮槽。win邮件接口函数使得邮件发送程序非常简单,不需要涉及smtp的连接细节和协议规则(不过smtp本身也很简单) [此贴被 wxngzybb(wxngzybb) 在 05月14日01时10分 编辑过] |
B3层 发表时间: 05-05-14 01:09 |
![]() | 回复: peter [peter] ![]() |
登录 |
嗯~~~~~~~~~~~~`....... 我用winsock这个控件建立UDP协议来传...但总有问题......如(A 传文件到 B : 先由A 向 B 发传文件请求.--将有A ,文件的数据传过去....B收到确认.建立文件. B向A发传文件内容请求,A收到B的请求后,向B发文件内容(将文件分段)等待B的回应.. B收到A的内容,将内容写入上面建立的文件后,又向A发出请求,等待A的数据.........) --------当然,也有对数据发出,,,,收到,,等方面的东东.. 我是按着这样的思路来写的.但实验结果总是不合意..(可以说是传输失败)比如说:我传一个只有 25字节的文件,收到也是25字节.但文件却有30字节.多出了5个字节,传一个1.5M的文件会出现 缓存溢出,数据报太大的错识.但传一个400多M的又不现出这种错误,(却发生掉包的现象) .....烦呀~!!!!.. ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
B4层 发表时间: 05-05-19 13:26 |
![]() | 回复: 286 [unique] ![]() |
登录 |
你设置的太麻烦了。 如果按你的设计方案,你不如直接采用TCP,而不是UDP。因为TCP本身不需要你作那么复杂判断,只要函数发送是成功的,对方就一定是接到了。 如果非要采用UDP,也不是不行。UDP丢包是正常现象,不按顺序到达也是正常现象。但优点是简单,速度快。你可以把发送的包编上号,接收时,不按顺序包到达时加一个判断处理即可。 至于你说多了若干个字节,这要你打开看看,是多了哪些,为什么多了。 |
B5层 发表时间: 05-05-20 09:30 |
![]() | 回复: 286 [unique] ![]() |
登录 |
至于你说的整个文件传输,这需要把对方创建成FTP服务器,然后你编程来访问这个服务器。然后用PUT命令,即可传过去。 这种方式的优点是你不用考虑传输细节,缺点是要求对方是FTP服务器。 |
B6层 发表时间: 05-05-20 09:32 |
![]() | 回复: wxngzybb [wxngzybb] ![]() |
登录 |
最最基本的TCP协议提供了流控保序重发等等很好的支持,是可靠的协议。 并不否定UDP的扩充可以达到同样效果,可是为什么不利用已有的技术呢 你用TCP连接阿 UDP本身是不可靠传输的协议。文件是数据完整性敏感的,所以咱们常用的FTP就是使用的2条TCP连接。当然tftp用了UDP |
B7层 发表时间: 05-05-20 14:26 |
![]() | 回复: peter [peter] ![]() |
登录 |
呵~~~~~~~~~~正在试着用TCP协议来传....我为了方便做实验.所以把文件传给自己.. 但在建立连接的时侯总会出错..晕..跟自己建立TCP连接.应怎么做呀..~~~这winsock还真多 麻烦,错了这样又那样,就几个属性就把我搞得头痛.这个文件传输还真有点多学问..本想只不 过是建立一个连接.然后把文件拆分,一一发过去.接收方建立文件,把收到的数据写进去.... 谁又会想到..~~~~~~总之是烦人呀.~~~~~简简单单的理论(自己想的理论)却如此的难而做到. ![]() |
B8层 发表时间: 05-05-22 02:00 |
![]() | 回复: wxngzybb [wxngzybb] ![]() |
登录 |
vb下边winsock对象屏蔽了套借口传输的一些常规细节操作 服务器使用2个sock对象,一个是用于listen的,另一个用于accept之后的可连接对象 客户用一个tcp sock就可以了 端口对应定义好 自己的ip是回射地址127.0.0.1 server 1 listen 2 accept client 1 connect vb里边就这样了 实际sock编程步骤多些但是非常固化,所以你看看winsock2的书籍,用c来做,会全部明白的 |
B9层 发表时间: 05-05-22 03:20 |
![]() | 回复: peter [peter] ![]() |
登录 |
原来有人3:20分还没睡..呵呵~~~~~~~~~.我还在搞呀,哈哈~~~~~~~~虽然想马上试着看看, 但,眼皮太重啦..(TMD,,,,,,这几天超多作业,又超多课要上,竟从早上8点.上到晚上10:30,真要我我的命),,三两天的又要作什么演讲,每次又要做PPT.......... 用两个sock,嗯~~~~~~~~~~ |
B10层 发表时间: 05-05-22 03:38 |
![]() | 回复: peter [peter] ![]() |
登录 |
这个传输的问题是解决了,但传输的速度不够快.大概只有2M/S左右 |
B11层 发表时间: 05-05-24 23:50 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号