我是一个VB新手
现用winsock控件编写一个传输图片的客户端
图片大小在50K-100之间
转成BABY格式后发送
自己做了个服务器端,结果报文报太大,无法传送
现在想到用文件分段来实现传送,但是接收端需要更改
由于服务端是远程的,再我不改变远程服务端的情况下,能不能一次把图片都发过去
有什么方法能一次性发送大文件,100K左右对方接收方法未知,只给我一个端口,一个协议,按照这个协议传送
现用winsock控件编写一个传输图片的客户端
图片大小在50K-100之间
转成BABY格式后发送
自己做了个服务器端,结果报文报太大,无法传送
现在想到用文件分段来实现传送,但是接收端需要更改
由于服务端是远程的,再我不改变远程服务端的情况下,能不能一次把图片都发过去
有什么方法能一次性发送大文件,100K左右对方接收方法未知,只给我一个端口,一个协议,按照这个协议传送
解决方案 »
- vb6,可以把chrome嵌入自己的应用程序(窗体)中?然后用text1写要访问的网址?
- SetupFactory怎么用呀
- 请问有没有阴历转阳历的源程序或者控件
- 复合查询出了什么问题?急急急
- 请教各位高手一个问题!用mscomm发送超过1000k的文本文件!
- 如何让DATAGRID可以修改记录,添加记录
- 求教:如何打开一个超文本文件(.htm),谢谢!!!!
- 高手给推荐几本学习VB的书吧!
- 请教,如何在Active Dll中加入Mdi子窗体。求教高手!!!
- 如何"程序最小化时,将程序图标放在显示时间的位置,即任务栏的右下角",这是如何实现的,请高手发表发表!!!
- 需要把vb代码转成delphi或VC++的代码。
- vb6.0打开文件
***********************************************************************
'发送端
Sub SendFile(FileName As String, Wnk As Winsock)
'FileName 预发送的文件.
Static iPoss As Double '当前发送位置
Dim SendData() As Byte '二进制数据
Dim Length As Double '记录文件长度
Dim FileNum As Integer
FileNum = FreeFile '获得文件号
Length = FileLen(FileName) '获得文件长度
Open FileName For Binary As FileNum
DoEvents
If Length <= Max Then
ReDim SendData(1 To Length)
Get FileNum, , SendData
Wnk.SendData SendData
Else
While iPos <= Length - Max
ReDim SendData(1 To Max)
Get FileNum, iPos + 1, SendData
Wnk.SendData SendData
iPos = iPos + Max
Wend
End If
ReDim SendData(Length - iPos - 1) '此处注意要-1,否则不会成功!
Get FileNum, iPos + 1, SendData
Wnk.SendData SendData
Close FileNum
Debug.Print FileLen(FileName)
End Sub
*******************************************************************
'接收端
Private Sub udpPeerB_DataArrival(ByVal bytesTotal As Long)
ReceiveData "d:\x.jpg", udpPeerB, bytesTotal
End Sub
Sub ReceiveData(FileName As String, Wnk As Winsock, Lens As Long) '接收数据
'FileName 文件保存的位置
Dim RecData() As Byte
Dim Length As Double
Dim FileNum As Integer
FileNum = FreeFile
Open FileName For Binary As FileNum
Length = FileLen(FileName)
ReDim RecData(1 To Lens)
Wnk.GetData RecData
Put FileNum, Length + 1, RecData
Close FileNum
End Sub
*******************************************************************
这段程序出了点问题
只能传送大概5分之一的内容
接收那块只能收到8192 之后就不接收了
问题出在哪?