2.用动态数组可以发送所有种类的文件(包括text__ascii和其他二进制文件) dim youbmp() as byte .....'将文件用二进制打开然后读入youbmp数组winsock.senddata youbmp接受端也是用动态数组接受, 用winsock.getdata youbmp,vbByte 'vbByte是个参数,我好象记错了,反正查MSDN就知道了.1.贴代码吧,应该没有问题的,除非你搞错了
to: gameboy999 代码应该没错。我如果不用组发(也就是说远程的ip不用192.168.0.255)来实现的话就没问题,(预先知道服务器的ip是192.168.0.100)但现在要求服务器的ip不确定,也就只能用组播。 第一次可以,发过一次以后再也不行了,重起机器后又可以了。
客户机端的: Private Sub Form_Load() Winsock1.RemotePort = 8888 Winsock1.LocalPort = 8889 Winsock1.Bind 8889 ....... End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim GetStr As String Winsock1.GetData GetStr MsgBox Getstr ....... .... End Sub 服务器端: Private Sub Form_Load() Winsock1.RemotePort = 8889 Winsock1.LocalPort = 8888 Winsock1.Bind 8888 ....... End Sub Private Sub Command1_Click() winsock1.RemoteHost="192.168.0.100" Winsock1.SendData "dddd" ..... End SubPrivate Sub Command2_Click() winsock1.RemoteHost="192.168.0.255" Winsock1.SendData "dddd" End Sub协议用的是udp.如果用准确的ip发送没问题,但用组发(command2_click)发过一次以后再发的话,客户机就收不到信息了.
服务器改为: Private Sub Form_Load() Winsock1.RemotePort = 8889 Winsock1.LocalPort = 8888 Winsock1.Bind End SubPrivate Sub Command1_Click() Winsock1.RemoteHost = "192.168.0.100" Winsock1.SendData "dddddd" End SubPrivate Sub Command2_Click() Dim i For i = 1 To 254 Winsock1.RemoteHost = "192.168.0." & i Winsock1.SendData "hhhhh" Next i End Sub
dim bin as byte
getdata bin
dim youbmp() as byte
.....'将文件用二进制打开然后读入youbmp数组winsock.senddata youbmp接受端也是用动态数组接受,
用winsock.getdata youbmp,vbByte 'vbByte是个参数,我好象记错了,反正查MSDN就知道了.1.贴代码吧,应该没有问题的,除非你搞错了
gameboy999
代码应该没错。我如果不用组发(也就是说远程的ip不用192.168.0.255)来实现的话就没问题,(预先知道服务器的ip是192.168.0.100)但现在要求服务器的ip不确定,也就只能用组播。
第一次可以,发过一次以后再也不行了,重起机器后又可以了。
Private Sub Form_Load()
Winsock1.RemotePort = 8888
Winsock1.LocalPort = 8889
Winsock1.Bind 8889
.......
End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim GetStr As String
Winsock1.GetData GetStr
MsgBox Getstr
.......
....
End Sub
服务器端:
Private Sub Form_Load()
Winsock1.RemotePort = 8889
Winsock1.LocalPort = 8888
Winsock1.Bind 8888
.......
End Sub Private Sub Command1_Click()
winsock1.RemoteHost="192.168.0.100"
Winsock1.SendData "dddd"
.....
End SubPrivate Sub Command2_Click()
winsock1.RemoteHost="192.168.0.255"
Winsock1.SendData "dddd"
End Sub协议用的是udp.如果用准确的ip发送没问题,但用组发(command2_click)发过一次以后再发的话,客户机就收不到信息了.
Private Sub Form_Load()
Winsock1.RemotePort = 8889
Winsock1.LocalPort = 8888
Winsock1.Bind
End SubPrivate Sub Command1_Click()
Winsock1.RemoteHost = "192.168.0.100"
Winsock1.SendData "dddddd"
End SubPrivate Sub Command2_Click()
Dim i
For i = 1 To 254
Winsock1.RemoteHost = "192.168.0." & i
Winsock1.SendData "hhhhh"
Next i
End Sub