回 帖 发 新 帖 刷新版面

主题:winsock传输文件的问题

server端是这样写的:   
    
          Dim   getlen   As   Long   
          Dim   buffer()   As   Byte        
          Dim   file   As   String   
          file   =   "E:\MySample\VB\WinSock\Multiple_FileTransport\Client\b.mp3"   
          Open   file   For   Binary   As   #1   
          sckserver(Index).GetData   buffer   
          getlen   =   getlen   +   UBound(buffer)   +   1   
          Put   #1,   ,   buffer   
          Close   #1 
  
      client端是这样的:   
          Dim   FileArray()   As   Byte   
          Dim   lnfile   As   Long   
          Dim   srcpath   As   String   
            
          srcpath =   "E:\MySample\VB\WinSock\Multiple_FileTransport\Client\a.mp3"   
            
          Text1.Text   =   FileLen(srcpath)   
            
          Open   srcpath   For   Binary   As   #1   
            
          lnfile   =   FileLen(srcpath)   
            
          ReDim   FileArray(lnfile)   
            
          Get   #1,   ,   FileArray   
          Close   #1   
          sckconnect.SendData   FileArray   

实际中Client在接收文件时根本不知道Server发送文件的类型(如上面的a.mp3)


回复列表 (共6个回复)

沙发

这就需要自定义信息来标识文件的类型/名称等内容

板凳

具体一点该怎么办!! 是不是把文件的格式也传过去!用同一个winsock吗?

3 楼

文件信息和文件内容用同一个控件传送就可以,只不过你的客户端与服务端事先约定好信息格式,这个格式可以你自己定义.比如说你要传送什么文件信息,每一项对应的是什么,每一项的存储长度等等

4 楼

干脆你就全部弄成BASE64的格式如何?呵呵

5 楼

无语

6 楼

协议

我来回复

您尚未登录,请登录后再回复。点此登录或注册