·¢±íÓÚ
2008-3-25 22:33:48
ÎÒÓëVBÖ®Winsockƪ£¨Èý£©
×÷Õߣº·ãÑ© ÎÄÕÂÀ´Ô´£ºÔ´´ ¸üÐÂʱ¼ä£º2008-3-25
½ñÍí¼ÓµÄ¹¦ÄÜÊǶà¸öTCP°åÓëµçÄÔͨÐÅ£¬ÓÉÓÚÊÖÉÏÖ»ÓÐÒ»¿éTCP°å£¬ËùÒÔÎÒÓÃVB×öÁËÁ½¸ö¿Í»§¶Ë´úÌæTCP°å£¬ÏÖÔÚÈÎÎñÖ÷ÒªÊǵçÄÔÉϵÄVB·þÎñ¶Ë³ÌÐò£¬ËùÒÔÓÃVBдµÄ¿Í»§¶Ë´úÌæTCP°åҲû¹ØÏµ£¬ÉÏͼ£¬Í¼1ÊÇûÁ¬½ÓµÄ·þÎñÆ÷½çÃæ£¬Í¼2¡¢Í¼3Êǿͻ§¶ËµÄ³õʼ½çÃæ£¬´ú±íTCP°å1ºÍTCP°å2
ͼ1

ͼ2

ͼ3
½Ó×ÅÊÇ·þÎñ¶Ë½ÓÊÕµ½Á½¸ö¿Í»§¶ËµÄÁ¬½ÓºÍ°Ñ01·¢µ½¿Í»§¶Ë1°Ñ02·¢µ½¿Í»§¶Ë2

ÏÂͼÊǿͻ§¶Ë½ÓÊÕµ½Êý¾Ý½çÃæ£¬Èç¹û¿Í»§¶ËûÁ¬½ÓÉÏ·þÎñÆ÷£¬ÊÇÏÔʾÁ¬½Ó£¬Èç¹ûÁ¬ÉϾÍÏÔʾ·¢ËÍ£¬´ú±í¿ÉÒÔ·¢Êý¾Ýµ½·þÎñÆ÷


·þÎñ¶Ë´úÂ룬»ù±¾Ã»±ä£¬¾ÍÊǼÓÁ˸ö·¢Ë͹¦ÄÜ
Dim color(2) As Long
Dim cur As Integer
Public tmin As Integer
Public tmax As Integer
Public repet As Integer
Dim remain As Integer
Dim SoundFile As String
Dim Result As Long
Private Sub Command1_Click()
sock(1).SendData Text1.Text
End Sub
Private Sub Command2_Click()
sock(2).SendData Text2.Text
End Sub
Private Sub Form_Load()
Num = 50
locPort = 31660
tmin = 12
tmax = 26
repet = 5
Call init
End Sub
Sub init()
remain = 0
color(0) = &HFF00& '&H0000FF00&
color(1) = &HFF& '&H000000FF&
color(2) = &HFFFF& '&H0000FFFF&
sock(0).LocalPort = locPort
sock(0).Listen
For i = 1 To Num
Load sock(i)
sock(i).LocalPort = locPort + i
sock(i).Listen
Next
Label2.Caption = "±¾µØIP: " & sock(0).LocalIP
Label3.Caption = "ÐÅÏ¢: ÒÑÁ¬½Ó" & cur & "/" & Num
End Sub
Private Sub sock_Close(Index As Integer)
sock(Index).Close
sock(Index).Listen
'Shape1.FillColor = color(2)
cur = cur - 1
'Labtem1 = ""
End Sub
Private Sub sock_ConnectionRequest(Index As Integer, ByVal requestID As Long)
sock(Index).Close
sock(Index).Accept requestID
cur = cur + 1
Label3.Caption = "ÐÅÏ¢: ÒÑÁ¬½Ó" & cur & "/" & Num
End Sub
Private Sub sock_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim s As String
sock(Index).GetData s ' DataFormat XX0YYY
Call reflec(s)
End Sub
Sub reflec(data As String)
Labtem1.Caption = data
End Sub
¿Í»§¶Ë´úÂ룬Á½¸ö¿Í»§¶Ë»ù±¾Ò»Ñù£¬Ö»ÊǶ˿ڲ»Ò»Ñù
Private Sub Command1_Click()
If Command1.Caption = "Á¬½Ó" Then
Winsock1.Close
Winsock1.Connect
Else
Winsock1.SendData Text1.Text
End If
End Sub
Private Sub Form_Load()
Command1.Caption = "Á¬½Ó"
rom = "127.0.0.1"
Port = 31661
Winsock1.RemoteHost = rom
Winsock1.RemotePort = Port
End Sub
Private Sub Winsock1_Close()
Command1.Caption = "Á¬½Ó"
End Sub
Private Sub Winsock1_Connect()
Command1.Caption = "·¢ËÍ"
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim s As String
Winsock1.GetData s ' DataFormat XX0YYY
Text2.Text = s
End Sub