Private
Sub
Form_Load()
With
SockServer
.LocalPort
=
2000
'指定端口号(一般指定1024以上的端口就好)
.Bind
End
With
End
Sub
'这里处理接收客户端发送来的信息
Private
Sub
SockClient_DataArrival(ByVal
bytesTotal
As
Long)
Dim
Tmp
As
String
SockClient.GetData
Tmp
'接收客户端发送来的信息
MsgBox
Tmp
'显示客户端发来的信息
End
Sub
'这里是处理收到的连接请求
Private
Sub
SockServer_ConnectionRequest(ByVal
requestID
As
Long)
SockClient.Close
'防止曾经打开过SockClient
SockClient.Accept
requestID
'接受客户端的请求
End
Sub
'当然服务器端也可以向客户端发送信息,如在窗口上创建一个Command1控件,然后再添加一下代码
Private
Sub
Command1_Click()
If
SockClient.State
=
7
Then
'判断是否处于连接状态
7表示已经连接
SockClient.SendData
"这是服务器端发来的信息"
End
If
End
Sub
'向客户端添加一个Winsock控件,名为SockClient,一个Command控件名字用默认的Command1,然后复制一下代码
Private
Sub
Form_Load()
SockClient.RemoteHost
=
"127.0.0.1"
'这里应该填入服务器IP地址,如果是在同一台电脑上可以用127.0.0.1
SockClient.RemotePort
=
2000
'这里是设置服务器打开的端口,由于前面服务器端口设为了2000,所以这里也要设置为2000
SockClient.Connect
End
Sub
'连接成功后会激活Connect事件
Private
Sub
SockClient_Connect()
MsgBox
"已经连接到了服务器:"
&
SockClient.RemoteHost
End
Sub
'这里是接收服务器发送来的信息
Private
Sub
SockClient_DataArrival(ByVal
bytesTotal
As
Long)
Dim
Tmp
As
String
SockClient.GetData
Tmp
MsgBox
Tmp,
vbOKOnly,
"收到的信息"
End
Sub
'这里是向服务器发送信息
Private
Sub
Command1_Click()
If
SockClient.State
=
7
Then
'如果处于连接状态,则发送数据
SockClient.SendData
"这是客户端发来的信息"
'发送信息,内容可以任意
End
If
End
Sub