private sub form_load()
Winsock1.Close
Winsock1.LocalPort = 3016
Winsock1.Listen
end sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
Winsock1.SendData "FileLenx"
End Sub
'以下这个事件是Winsock1收到数据时发生的
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
dim lenx as long
select case strtxt
case "FileSize" '接收文件大小
Winsock1.GetData lenx
Winsock1.SendData "File"
strTXT="File"
Case "File"
On Error GoTo errx
ReDim bytx(Lenx) As Byte
If bytesTotal >= Lenx Then
Winsock1.PeekData bytx, vbArray + vbByte, Lenx
Dim l As Long
l = FreeFile
Open "c:\Excl.xls" For Binary Access Write As #l
Put #1, , bytx
Close #l
msgbox "收到文件 C:\Excl.xls"
ReDim bytx(0)
End If
end select
End Sub
'以下是发送端(全局变量同上)
Private sub command1_click()
Winsock1.Close
Winsock1.RemoteHost ="10.10.1.1"
Winsock1.RemotePort = 3016
Winsock1.Connect
end sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim i As Long
Winsock1.GetData strTXT
Select Case strTXT
Case "FileLenx"
lenx=filelen("c:\book1.xls")
Winsock1.SendData lenx
Case "File"
ReDim bytt(Lenx) As Byte
Dim l As Long
l = FreeFile
Open "c:\book1.xls" For Binary Access Read As #l
Get #l, , bytt
Close #l
Winsock1.SendData bytt
ReDim bytt(0)
ens select
End Sub