窗体1的源码!
Private Sub Form_Load()
'控件的名字为 udpPeerA
With udpPeerA
'重点:必须将 RemoteHost 的值
'修改为计算机的名字。
.RemoteHost = "127.0.0.1"
.RemotePort = 1001 '连接的端口号。
.Bind 1002 '绑定到本地的端口。
End With
FrmPeerB.Show '显示第二个窗体。
End Sub
Private Sub txtSend_Change()
'在键入文本时,立即将其发送出去。
Debug.Print udpPeerA.State
udpPeerA.SendData txtSend.Text
End Sub
Private Sub udpPeerA_DataArrival _
(ByVal bytesTotal As Long)
Dim strData As String
udpPeerA.GetData strData
txtOutput.Text = strData
End Sub窗体2的源码! Private Sub Form_Load()
'控件的名字为 udpPeerB。
With udpPeerB
'重点:必须将 RemoteHost 的值改为
'计算机的名字。
.RemoteHost = "127.0.0.1"
.RemotePort = 1001 '要连接的端口。
.Bind 1001 '绑定到本地的端口上。
End With
End Sub
Private Sub txtSend_Change()
'在键入后立即发送文本。
udpPeerB.SendData txtSend.Text
End Sub
Private Sub udpPeerB_DataArrival _
(ByVal bytesTotal As Long)
Dim strData As String
udpPeerB.GetData strData
txtOutput.Text = strData
End Sub为什么调试的时候往文本理输入文字就会出现:
"实时错误'40006':
所需事物或请求的错误协议或连接状态
这个是什么回事啊?
Private Sub Form_Load()
'控件的名字为 udpPeerA
With udpPeerA
'重点:必须将 RemoteHost 的值
'修改为计算机的名字。
.RemoteHost = "127.0.0.1"
.RemotePort = 1001 '连接的端口号。
.Bind 1002 '绑定到本地的端口。
End With
FrmPeerB.Show '显示第二个窗体。
End Sub
Private Sub txtSend_Change()
'在键入文本时,立即将其发送出去。
Debug.Print udpPeerA.State
udpPeerA.SendData txtSend.Text
End Sub
Private Sub udpPeerA_DataArrival _
(ByVal bytesTotal As Long)
Dim strData As String
udpPeerA.GetData strData
txtOutput.Text = strData
End Sub窗体2的源码! Private Sub Form_Load()
'控件的名字为 udpPeerB。
With udpPeerB
'重点:必须将 RemoteHost 的值改为
'计算机的名字。
.RemoteHost = "127.0.0.1"
.RemotePort = 1001 '要连接的端口。
.Bind 1001 '绑定到本地的端口上。
End With
End Sub
Private Sub txtSend_Change()
'在键入后立即发送文本。
udpPeerB.SendData txtSend.Text
End Sub
Private Sub udpPeerB_DataArrival _
(ByVal bytesTotal As Long)
Dim strData As String
udpPeerB.GetData strData
txtOutput.Text = strData
End Sub为什么调试的时候往文本理输入文字就会出现:
"实时错误'40006':
所需事物或请求的错误协议或连接状态
这个是什么回事啊?
' 建立一个新标准EXE工程文件,拖放一个Winsock控制到表单上,添加两个文本框到表单上,然后进行以下属性的设置:
' 表单(Form):Name=“frmPeerA” Caption=“UDP Application(1)”
' Winsock控制:Name=“udpPeerA” Protocol=“sckUDPProtocol”
' 文本框1(TextBox): Name“txtSend”
' 文本框2(TcxtBox): Name=“txtOutput” MultiLine-True ScrollBars=2
' 然后打开代码窗口,分别在相应的事件下输入以下代码:
Private Sub Form_Load()
With udpPeerA
.RemoteHost="197.1.1.2" '要连接到的计算机名
.RemotePort=1010 '要连接到的端口号
.LocalPort=1011 '该Winsock控制将要使用的本地端口号,便于其它端与该Winsock通讯
.Bind 1011 '将该Winsock控制绑定到该本地端口
EndWith
End Sub
Private Sub txtSend_Change()
udpPeerA.SendData txtSend.Text'发送文本
End Sub
Private Sub udpPeerA_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
udpPeerA.GetData strData,vbString
txtOutput.Text = strData
End Sub
' UDP应用二:
' 类似建立UDP Server的方法,在表单上添加一个Winsock控制及两个文本框,然后进行以下属性的设置:
' 表单(Form):Name=“frmPeerB” Caption=“UDP Application(2)”
' Winsock控制:Name=“udpPeerB” Protocol=“sckUDPProtoclool”
'' 文本框1(TextBox):Name=“txtSend”
' 文本框2(TextBox):Name=“txtOutput” MultiLine=True ScrollBars=2
' 然后输入以下代码:
Private Sub Form_Load()
With udpPeerB
.RemoteHost="197.1.1.2" '要连接到计算机的IP地址
.RemotePort=1011 '要连接到的端口号
.LocalPort=1010 '该Winsock控制将使用的本地端口号,便于其它方与之通讯
.Bind 1010 '将该Winsock控制绑定到该本地端口
End With
End Sub
Private Sub txtSend_Change()
udpPeerB.SendData txtSend.Text '发送文本
End Sub
Private Sub udpPeerB_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
udpPeerB.GetData strData,vbString
txtOutput.Text=strData
End Sub
Private Sub Form_Load()
With udpPeerA
.Protocol = sckTCPProtocol
.LocalPort = 4000
.Listen
End With
FrmPeerB.Show
End Sub
Private Sub txtSend_Change()
udpPeerA.SendData txtSend.Text
End SubPrivate Sub udpPeerA_ConnectionRequest(ByVal requestID As Long)
udpPeerA.Close
udpPeerA.Accept requestID
udpPeerA.SendData "连接成功"
End SubPrivate Sub udpPeerA_DataArrival(ByVal bytesTotal As Long)
Dim str As String
udpPeerA.GetData str
txtOutput.Text = str
End Sub
'第二个窗体中代码Private Sub Form_Load()
With udpPeerB
.Protocol = sckTCPProtocol
.Connect .LocalIP, 4000 '如果不同机器上,将.localIp改为远程计算机的名称
End With
End Sub
Private Sub udpPeerB_DataArrival(ByVal bytesTotal As Long)
Dim str As String
udpPeerB.GetData str
txtOutput.Text = str
End Sub Private Sub txtSend_Change()
udpPeerB.SendData txtSend.Text
End Sub