第一次写网络方面的..不大熟悉.
刚刚完成了1对1的连接...
多个连接想用到控件数组..但怎么也写不出来.
一共有A B C 3台机器
A是服务器端,我想把B C发送过去文字,分别显示在两个text文本框内.请各位高手指点,有源码最好啦..谢谢哈...
刚刚完成了1对1的连接...
多个连接想用到控件数组..但怎么也写不出来.
一共有A B C 3台机器
A是服务器端,我想把B C发送过去文字,分别显示在两个text文本框内.请各位高手指点,有源码最好啦..谢谢哈...
调试欢乐多
Private Gac() As Boolean
Dim Socknumber As Integer
Private Sub Form_Load()
Winsock1(0).LocalPort = 1600
Winsock1(0).Listen
Socknumber = 0
End SubPrivate Sub Form_Unload(Cancel As Integer)
Winsock1(0).Close
End SubPrivate Sub Winsock1_Close(Index As Integer)
Winsock1(Index).Close
Unload Winsock1(Index)
Gac(Index) = False
Text3.Text = Int(Text3.Text) - 1
End SubPrivate Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long)
Socknumber = Socknumber + 1
Load Winsock1(Socknumber)
Winsock1(Socknumber).Accept requestID
ReDim Preserve Gac(Socknumber)
Gac(Socknumber) = True
Text3.Text = Int(Text3.Text) + 1
End SubPrivate Sub Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim c As String
Winsock1(Index).GetData c, vbString
Dim i As Integer
For i = 1 To UBound(Gac)
If Not i = Index Then
If Gac(i) Then
Winsock1(i).SendData c
DoEvents
End If
End If
Next i
End Sub可惜vb不方便多线程,如果多个用户速度太低会导致最后的用户延时太大。
不知道谁有好的解决方法。