服务器端:
一个WINSOCK控件(Winsock1)用来侦听
一个WINSOCK(ServerWsk)控件数组用来连接。
一个文本框(MsgTxt)用来发消息。
一个变量(IntMax )用来保存连接总数。'发送
Private Sub Command2_Click()
Dim i As Integer
If MsgTxt.Text <> "" Then
For i = 1 To IntMax
If ServerWsk(i).State <> sckClosed Then
ServerWsk(i).SendData MsgTxt.Text
End If
Next i
End If
End Sub'侦听
Private Sub Form_Load()
IntMax = 0
Winsock1.LocalPort = 1001
Winsock1.Listen
End SubPrivate Sub ServerWsk_Close(Index As Integer)
ServerWsk(Index).Close
End Sub'初始化连接
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
IntMax = IntMax + 1
Load ServerWsk(IntMax)
If ServerWsk(IntMax).State <> sckClosed Then ServerWsk(IntMax).Close
ServerWsk(IntMax).Accept requestID
End Sub客户端:Private Sub ClientWsk_Connect()
MsgBox "成功联接"
End Sub'接收
Private Sub ClientWsk_DataArrival(ByVal bytesTotal As Long)
Dim abc As String
ClientWsk.GetData abc
Text1.Text = abc
End SubPrivate Sub Command1_Click()
ClientWsk.RemoteHost = "192.168.255.4"
ClientWsk.RemotePort = 1001
ClientWsk.LocalPort = 0
ClientWsk.Connect
End Sub'发送
Private Sub Command2_Click()
If ClientWsk.State <> sckClosed Then
ClientWsk.SendData Text1.Text
End If
End Sub
一个WINSOCK控件(Winsock1)用来侦听
一个WINSOCK(ServerWsk)控件数组用来连接。
一个文本框(MsgTxt)用来发消息。
一个变量(IntMax )用来保存连接总数。'发送
Private Sub Command2_Click()
Dim i As Integer
If MsgTxt.Text <> "" Then
For i = 1 To IntMax
If ServerWsk(i).State <> sckClosed Then
ServerWsk(i).SendData MsgTxt.Text
End If
Next i
End If
End Sub'侦听
Private Sub Form_Load()
IntMax = 0
Winsock1.LocalPort = 1001
Winsock1.Listen
End SubPrivate Sub ServerWsk_Close(Index As Integer)
ServerWsk(Index).Close
End Sub'初始化连接
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
IntMax = IntMax + 1
Load ServerWsk(IntMax)
If ServerWsk(IntMax).State <> sckClosed Then ServerWsk(IntMax).Close
ServerWsk(IntMax).Accept requestID
End Sub客户端:Private Sub ClientWsk_Connect()
MsgBox "成功联接"
End Sub'接收
Private Sub ClientWsk_DataArrival(ByVal bytesTotal As Long)
Dim abc As String
ClientWsk.GetData abc
Text1.Text = abc
End SubPrivate Sub Command1_Click()
ClientWsk.RemoteHost = "192.168.255.4"
ClientWsk.RemotePort = 1001
ClientWsk.LocalPort = 0
ClientWsk.Connect
End Sub'发送
Private Sub Command2_Click()
If ClientWsk.State <> sckClosed Then
ClientWsk.SendData Text1.Text
End If
End Sub
Const MaxConnect = 8
Dim inUsed(MaxConnect) As Boolean
Dim i As Long
Dim CilentT() As Byte
Dim ErrorCode As IntegerPrivate Sub Form_Load()
Listener.LocalPort = 4477
Listener.Listen
End SubPrivate Sub Listener_ConnectionRequest(ByVal requestID As Long)
For i = 1 To MaxConnect
If Not inUsed(i) Then
inUsed(i) = True
Exit For
End If
Next
If i > MaxConnect Then
Exit Sub
End If
Load S(i)
S(i).Accept requestID
End SubPrivate Sub S_Close(Index As Integer)
S(Index).Close
Unload S(Index)
inUsed(Index) = False
End SubPrivate Sub S_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim DataLong As Integer
Dim ys As Integer
Dim arr() As Byte
S(Index).GetData CilentT, vbByte
For i = 0 To bytesTotal - 1
Text1(i).Text = Hex(CilentT(i))
Next
End Sub'客户端
Private Sub Client_Connect()
Connected = True
frmMenu.SB1.Panels(1).Text = "ÍøÂçÁ¬½Ó³É¹¦ £¡"
Timer1.Enabled = True
End SubPrivate Sub Client_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
Connected = False
frmMenu.SB1.Panels(1).Text = "err"
Client.Close
End SubPrivate Sub Client_DataArrival(ByVal bytesTotal As Long)
Client.GetData arr, vbByte
DataLong = bytesTotal
End Sub
Private Sub Form_Load()
DEVICE = False
Connected = False
Client.Protocol = sckTCPProtocol
Client.RemoteHost = "127.0.0.1"
Client.RemotePort = 4477
dp(0) = &HC8: dp(1) = &H99
If Not Connected Then
frmMenu.SB1.Panels(1).Text = "正在连接 ..."
Client.Connect
Else
frmMenu.SB1.Panels(1).Text = "已经连接..."
End If
End Sub