给你个例子:
客户端:
rivate Sub Command3_Click()
If SockCL.State <> 0 Then
SockCL.Close
End If
SockCL.RemoteHost = "192.168.0.21"
' 指定服务器端口名
SockCL.RemotePort = 8000
' 连接到服务器
SockCL.Connect
End Sub
Private Sub Form_Load()
' 指定服务器主机名
If SockCL.State <> 0 Then
SockCL.Close
End If
SockCL.RemoteHost = "192.168.0.21"
' 指定服务器端口名
SockCL.RemotePort = 8000
' 连接到服务器
SockCL.Connect
' If SockCL.State = 7 Then
' MsgBox "hehe", vbCritical + vbApplicationModal
' Else
' MsgBox "heeh"
' End If
End Sub
Private Sub SockCl_DataArrival(ByVal bytesTotal As Long)
Dim DataStr As String
' 接收数据到文本框中
SockCL.GetData DataStr
Debug.Print SockCL.State
Text2.Text = DataStr
End Sub
' 向服务器发送数据
Private Sub Command1_Click()
If SockCL.State = 7 Then
SockCL.SendData Text1.Text
End If
End Sub
' 退出程序
Private Sub Command2_Click()
SockCL.Close
End
End Sub
服务器端:
Private Sub Form_Load()
sockserver.LocalPort = 8000 '服务器端口号,最好大于1000
sockserver.Listen '开始侦听
End Sub
Private Sub Form_Unload(Cancel As Integer)
sockserver.Close
End Sub
Private Sub SockServer_Close()
sockserver.Close
End Sub
Private Sub SockServer_ConnectionRequest(ByVal requestID As Long)
sockserver.Close
sockserver.Accept requestID '表示客户请求连接的ID号
End Sub
'当客户向服务器发送数据到达后 , 产生DataArrival事件, 在事件中接收数据, GetData方法接收数据?
Private Sub SockServer_DataArrival(ByVal bytesTotal As Long)
Dim s As String
sockserver.GetData s
Text1.Text = s
End Sub
'当我需要向客户发送数据时,只需调用SendData方法。
Private Sub Command1_Click()
Debug.Print sockserver.State
If sockserver.State = 7 Then
sockserver.SendData Text2.Text
End If
End Sub