关于用UDP传文件,我有两个问题:
1。是不是得自己加标号
2。直接发会被防火墙阻拦,如何在不打开的端口的情况下,顺利地传过去呢?谢谢:)

解决方案 »

  1.   

    1 把文件分为定长的小块,给每小块编上号,一个UDP报文传一小块,接收方把接收到的块按顺序拼接..同时,把未接收到的块发出重传请求.因为UDP是不可靠传输,必须采取一定措施控制.
    2 UDP可以通过端口映射来穿透
      

  2.   

    一般传文件,不用udp协议,因为它不可靠,很容易出错。如果要传文件,建议你最好用tcp协议。UDP适合的是一个网络条件较好的环境
      

  3.   

    关于第2点,是需要考虑的,可以参看NAT方面的资料!有很好的解析!
    http://www.cnpaf.net/
      

  4.   

    UDP可以参考进TCP的一些控制方法来保证~
      

  5.   

    首先纠正一下楼上有同志的错误:无端口,那是udp吗?
    反弹端口,那个防火墙现在不让用户确认连接 ~~~~~~~~~
    nat又不是防火墙,网络地址翻译什么时候成防火墙,用ISA建一个自己看看~~~~~~
    解决方法:udp传文件快,但是无自身验证,你可以参考以下tftp的源代码,69端口,且windows自带客户端,qq的传文件就是udp的,呵呵还是很有优势的,不过要自己diy了
      

  6.   

    如果防火墙一定要阻止,那么怎么UDP都不行了,不用端口也行,但不是UDP了(同上); 可以自己写个特殊协议实现。