注册 登录
编程论坛 VB6论坛

求大神指点 socket 通信:一服务器实现多客户端之间的通信

dj599417 发布于 2014-10-13 15:11, 2403 次点击
多客户端链接的用控件数组来实现,一个socket专门用来监听连接请求,接收到后就分配给控件数组来建立链接
3 回复
#2
风吹过b2014-10-13 17:21
TCP协议
收到连接请求事件

程序代码:
Dim i As Long
For i = 0 To sck2.Count                                     'sck2为连接控件组
    If sck2(i).State = 6 Or sck2(i).State = 7 Then          '正在连接或已连接
    Else                                                    '否则
        sck2(i).Close                                       '关闭
        DoEvents
    End If
    If sck2(i).State = 0 Then                               '为关闭
        Exit For
    End If
Next i
If i = sck2.Count Then                                      '如果没找到
    Load sck2(i)                                            '则加载一个
End If
sck2(i).Accept requestID                                    '接收连接
#3
dj5994172014-10-14 08:43
回复 2 楼 风吹过 b
大神,能不能给个完整的代码啊....刚接触这个,不明白啊..
#4
风吹过b2014-10-14 14:52
消息收取转发

程序代码:
Private Sub sck2_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim xx As String
sck2(Index).GetData xx              '取消息
Dim i As Long
For i = 0 To sck2.Count - 1         '遍类所有的
    If i <> Index Then              '如果不是收消息的这个
        If sck2(i).State = 7 Then   '没有断线
            sck2(i).SendData xx     '发给所有的,可以带上一些其他内容一起发。
        End If
    End If
Next i
End Sub


前面是 接爱连接 的部分,现在是 消息收发。

客户端自己搞定。
1