感谢大家,下面是发送文件的代码,请各位高手指点:这是发送端的代码: Open FileNname For Binary As #1 Do While Not EOF(1) DataChunk = Input(MAX_CHUNK, #1) 'MAX_CHUNK是一次发送的最大自节4096 SendData DataChunk '发送当前数据 Pause 200 DoEvents Loop
SendData "CloseFile," '告诉接收端发送完毕 Close #1这是接受端的代码:(实际程序中稍复杂一点,还有一些判断何时打开、关闭文件的代码,此处略)Private Sub winsock_DataArrival(ByVal bytesTotal As Long) winsock.GetData NewArrival, vbString Open FileName For Binary As #1 Put #1, , NewArrival Close #1End Sub
Private Sub winsock_DataArrival(ByVal bytesTotal As Long) winsock.GetData NewArrival, vbString ’接收时,数据类型为vbbyte,而且由于你不可能在一个winsock_DataArrival中接受到所有的数据,所以会将数据从文件头部重复写入。 Open FileName For Binary As #1 Put #1, , NewArrival Close #1End Sub
使用数组么,注意数组序号的问题了么?
一次传送的字节数多大?(不能太大)
你是用字符方式传输还是用Byte数组传输?
.
.
.
未知问题太多,把代码放上来,大家来找差
Open FileNname For Binary As #1
Do While Not EOF(1)
DataChunk = Input(MAX_CHUNK, #1) 'MAX_CHUNK是一次发送的最大自节4096
SendData DataChunk '发送当前数据
Pause 200
DoEvents
Loop
SendData "CloseFile," '告诉接收端发送完毕
Close #1这是接受端的代码:(实际程序中稍复杂一点,还有一些判断何时打开、关闭文件的代码,此处略)Private Sub winsock_DataArrival(ByVal bytesTotal As Long) winsock.GetData NewArrival, vbString Open FileName For Binary As #1
Put #1, , NewArrival
Close #1End Sub
Open FileName For Binary As #1
Put #1, , NewArrival
Close #1End Sub