1.不
2.既然不局限于纯文本那么当然可以有别的方式.比如:
  取得文件大小->定义数组大小->打开文件->存入数组->定义包->握手->发送->关闭
以上流程一般用于传送二进制文件如:图片,exe文件等.
3.如果是文本文件,那么我觉得没有问题.

解决方案 »

  1.   

    tony_jian(神经质男主角)谢谢支持!
    因为我刚开始学VB不久所以还不是很熟,不知能不能写一简短的代码:
    只写 打开-->存入数组--> 定义包 的环节 就可以。
    麻烦了!!
      

  2.   

    Dim MyByte() As Byte        '发送的二进制数组
    Const PackSize = 4000                '发图片时每个包的大小
    FileHandle = FreeFile
    Open FileName For Binary As FileHandle
    '取文件的总大小(字节)
    MyFileSize = LOF(FileHandle)
    ReDim MyByte(1 To MyFileSize)
    '读文件内容到数组中,并发送出去
    Get #FileHandle, , MyByte
      

  3.   

    既然是传输问题,我还可以给大家一个思路。可以用RPC协议传输记录集,这是一个用COM传输记录集的好办法,特别易用。
      

  4.   

    tony_jian(神经质男主角)
    不好意思又要麻烦你了。
    我按你的方法发送了,但接收方接收不到。又出现新的
    问题:
    1.我在接收是语句如下:
    dim mybyte() as byte
    winsock.getdata mybyte , vbByte
    是否正确
    2.winsock在执行getdata方法后缓冲区是否就清空了?
      因为我在发送数据时要发送不同类型
      发送文件先发送文件信息(如文件名)用字串方式
      发送内容要用 二进制数组方式
      这样我在接收时,因为不知接收的就字串还是二进制
      这样我就得接收两次,一次按字串方式、一按字节方式,可是他们只能取出一种,不知有什么解决方法?
    3.如果你有关于传递文件(二进的)程序能否发过来看一看,这样我就不用老是麻烦你了。.
      

  5.   

    你可以把前面的文件信息也转换为Byte数据,再和包含内容的Byte数组拼接为一个,再发送就解决了呀!