方法1
Dim sTemp1 As String
Winsock1.GetData sTemp1 '接收数据 放入 sTemp1 内 一次最多1024节字?
Text1.Text = sTemp1 '显示为乱码方法2
Dim bb(1 To 200) As Byte
Dim ti As Integer
Winsock1.GetData bb()
For ti = 0 To 200
Print bb(ti) '全部显示为0
Next ti有什么办法可以解决?
Dim sTemp1 As String
Winsock1.GetData sTemp1 '接收数据 放入 sTemp1 内 一次最多1024节字?
Text1.Text = sTemp1 '显示为乱码方法2
Dim bb(1 To 200) As Byte
Dim ti As Integer
Winsock1.GetData bb()
For ti = 0 To 200
Print bb(ti) '全部显示为0
Next ti有什么办法可以解决?
Dim ti As LongReDim bb(bytesTotal-1)
Winsock1.GetData bb
For ti = 0 To bytesTotal-1
debug.Print right("0"+Hex(bb(ti)),2);" ";
Next ti
debug.print
Private Sub Form_Load()
Dim my As String
Winsock1.Protocol = sckUDPProtocol '设置为UDP协义
Winsock1.LocalPort = 10 '设置计算机的端口,随便设置,不过两个要一样
Winsock1.RemotePort = 10
my = Winsock1.LocalIP '取得自己的IP地址,是不要的
Winsock1.RemoteHost = my '这里应该是设置为别人计算机的IP地址,由于自己是单机,所以就设置成自己的,自己给自己发信息
End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long) '取得数据时发生
Dim Tmp As String
Winsock1.GetData Tmp, vbString '取得数据
Tmp = "对方位址:" + Winsock1.RemoteHostIP + "发言内容为-->" + Tmp
txtMess.Text = Tmp + Chr$(13) + Chr$(10) + txtMess.Text
End SubPrivate Sub Command1_Click() '发送信息
Winsock1.SendData txtSend.Text
End Sub补充:若是想要同時多人聊天的话,则你的RemoteHost 需要将最后面的地址设置为255(广播节点)才行
2、我测试UDP通信WINSOCK控件8KB是可以的
3、实在不知道用什么数据类型接收合适,就
dim bb as variant
Winsock1.GetData bb
让VB自己去搞。
如果想用数组接收,可以这样:
dim bb()
redim bb(bytestotals-1)