服务器程序: 在服务器的启动过程中加入以下两行: WSKserVer.localPort=1024 WskServer.listrenprivate sub wskServer_RequistAccept(RequistId as long) if wskServer.State<>0 then WskServer.Close wskserver.Accept Requistid end sub客户机程序: 在客户程序的启动过程中加入以下三行. wskClient.RemoteIP="192.1.2.52"(也许不需要引号,我平时是直接用计算机名的) wskClient.RemotePort=1024 wskClient.connect
'主机(34a-4)程序如下 Private all As String Private Sub Form_Load() wskServer.LocalPort = 1024 wskServer.Listen
'出现服务器的IP地址是:192.1.2.51 ' 服务器的名称是:34a-4 MsgBox "服务器的IP地址是" & wskServer.LocalIP & vbCrLf & _ "服务器的名称是:" & wskServer.LocalHostNameEnd Sub Private Sub Form_Unload(Cancel As Integer)
If wskServer.State <> sckClosed Then wskServer.Close
End Sub Private Sub wskServer_ConnectionRequest(ByVal requestID As Long)
If wskServer.State <> sckClosed Then wskServer.Close wskServer.Accept requestID
End SubPrivate Sub wskServer_DataArrival(ByVal bytesTotal As Long)
Dim Received As String wskServer.GetData Received, vbString Received = Trim$(Received) & ".TXT" Data1.Recordset.MoveFirst Data1.Recordset.FindFirst "SerialNum='" & Received & "'" If Data1.Recordset.NoMatch Then all = "aaaa" Else all = Text1.Text & ";" & Text2.Text & ";" & Text3.Text & ";" & Text4.Text End If wskServer.SendData all End Sub 我在客机(34a-2)程序.Private all As String Private Sub cmdSendData_Click()
If Text0.Text <> "" Then sckClient.SendData Text0.Text Else MsgBox "传输的数据不能为空!" End If
End SubPrivate Sub Form_Load() 'sckClient.RemoteHost = "34a-4" 'sckClient.LocalPort = 1024 'sckClient.Connet '用这种方式联接,则出现错误提示 sckClient.Protocol = sckTCPProtocol sckClient.Connect "34a-4", 1024 '这样没有错误提示,但又提示无法连接到 '服务器 '指定192.1.2.51也是一样的结果 Do DoEvents Loop Until sckClient.State = sckConnected Or sckClient.State = sckError
If sckClient.State = sckError Then MsgBox "无法连接到服务器:" & sckClient.RemoteHostIP 'cmdSendData.Enabled = False Else MsgBox "成功连接到报务器:" & sckClient.RemoteHostIP End If
End SubPrivate Sub Form_Unload(Cancel As Integer)
If sckClient.State <> sckClosed Then sckClient.Close
End SubPrivate Sub sckClient_DataArrival(ByVal bytesTotal As Long)
Dim Received As String sckClient.GetData Received, vbString Text1.Text = Received
End Sub'但我在同一台机子里运行这两个程序,即在34a-4机子里先运行Server,再运行Protocol.就能正常连接. '注:我在两台机子里试验时,都是先运行Server,再运行Protocol.而且在网上邻居 '里两台机子都能互相看到对方
在服务器的启动过程中加入以下两行:
WSKserVer.localPort=1024
WskServer.listrenprivate sub wskServer_RequistAccept(RequistId as long)
if wskServer.State<>0 then WskServer.Close
wskserver.Accept Requistid
end sub客户机程序:
在客户程序的启动过程中加入以下三行.
wskClient.RemoteIP="192.1.2.52"(也许不需要引号,我平时是直接用计算机名的)
wskClient.RemotePort=1024
wskClient.connect
'主机(34a-4)程序如下
Private all As String
Private Sub Form_Load() wskServer.LocalPort = 1024
wskServer.Listen
'出现服务器的IP地址是:192.1.2.51
' 服务器的名称是:34a-4
MsgBox "服务器的IP地址是" & wskServer.LocalIP & vbCrLf & _
"服务器的名称是:" & wskServer.LocalHostNameEnd Sub
Private Sub Form_Unload(Cancel As Integer)
If wskServer.State <> sckClosed Then wskServer.Close
End Sub
Private Sub wskServer_ConnectionRequest(ByVal requestID As Long)
If wskServer.State <> sckClosed Then wskServer.Close
wskServer.Accept requestID
End SubPrivate Sub wskServer_DataArrival(ByVal bytesTotal As Long)
Dim Received As String
wskServer.GetData Received, vbString
Received = Trim$(Received) & ".TXT"
Data1.Recordset.MoveFirst
Data1.Recordset.FindFirst "SerialNum='" & Received & "'"
If Data1.Recordset.NoMatch Then
all = "aaaa"
Else
all = Text1.Text & ";" & Text2.Text & ";" & Text3.Text & ";" & Text4.Text
End If
wskServer.SendData all
End Sub
我在客机(34a-2)程序.Private all As String
Private Sub cmdSendData_Click()
If Text0.Text <> "" Then
sckClient.SendData Text0.Text
Else
MsgBox "传输的数据不能为空!"
End If
End SubPrivate Sub Form_Load()
'sckClient.RemoteHost = "34a-4"
'sckClient.LocalPort = 1024
'sckClient.Connet '用这种方式联接,则出现错误提示
sckClient.Protocol = sckTCPProtocol
sckClient.Connect "34a-4", 1024 '这样没有错误提示,但又提示无法连接到
'服务器
'指定192.1.2.51也是一样的结果
Do
DoEvents
Loop Until sckClient.State = sckConnected Or sckClient.State = sckError
If sckClient.State = sckError Then
MsgBox "无法连接到服务器:" & sckClient.RemoteHostIP
'cmdSendData.Enabled = False
Else
MsgBox "成功连接到报务器:" & sckClient.RemoteHostIP
End If
End SubPrivate Sub Form_Unload(Cancel As Integer)
If sckClient.State <> sckClosed Then sckClient.Close
End SubPrivate Sub sckClient_DataArrival(ByVal bytesTotal As Long)
Dim Received As String
sckClient.GetData Received, vbString
Text1.Text = Received
End Sub'但我在同一台机子里运行这两个程序,即在34a-4机子里先运行Server,再运行Protocol.就能正常连接.
'注:我在两台机子里试验时,都是先运行Server,再运行Protocol.而且在网上邻居
'里两台机子都能互相看到对方