2013-08-31 44 views
0

嗯,我有这个代码为我的服务器连接请求。发送更新的客户端列表到所有连接的客户端

If sckClients(clientCounter).State <> adstateclosed Then sckClients(clientCounter).Close   
sckClients(clientCounter).Accept requestID 
Command1.Enabled = True 
MsgBox "Connected to client." 
Combo1.AddItem sckClients(clientCounter).LocalIP & "(" & clientCounter & ")" 
clientCounter = clientCounter + 1 
Load sckClients(clientCounter) 

这是为了更新客户端列表。

StrMsg = "1~Server~" 
For x = 0 To Combo1.ListCount - 1 
    If x = Combo1.ListCount - 1 Then 
     StrMsg = StrMsg & Combo1.List(x) 
    Else 
     StrMsg = StrMsg & Combo1.List(x) & "~" 
    End If 
Next x 


For x = 0 To clientCounter - 1 
    sckClients(x).SendData StrMsg 
Next x 

我的问题是,我如何将它发送到每个客户端的组合框客户端列表?

+0

既然你已经* *是在发送(据我可以告诉从你发布的代码)...我假设你问的是完全不同的问题。您是否使用短语“发送到”来表示“显示在”组合框或其他内容? – Bob77

+0

哦,是的,这就是我的意思。将客户端列表显示给所有连接的客户端组合框。 –

回答

0

如果我理解正确的话你的代码,(和基于Bob77的澄清),要发送到连接的客户端可以是这样的消息:

"1~Server~192.168.0.101(0)~69.125.83.76(1)~127.0.0.1(2)" 

,那么只需在需要使用VB6的split函数来获取信息,例如:

客户端(伪代码):

Private Sub WinSock_OnData(...) 
    Dim Buffer As String 
    Dim BufferArray() As String 
    Dim Index As Long 

    Call WinSock.GetData(Buffer, ...)   
    BufferArray = Split(Buffer, "~") 

    If BufferArray(0) = "1" Then 
     Call ComboxBox1.Clear   
     For Index = 1 To Ubound(BufferArray) 
      Call ComboxBox1.AddItem(BufferArray(Index)) 
     Next Index 
    End If 

End Sub 
相关问题