论坛: 编程破解 标题: vb利用winsock控件实现多人聊天室留下的问题??? 复制本贴地址    
作者: hzqqun [hzqqun]    论坛用户   登录
请问怎样才能实现在服务器的listbox控件存放着客户机连接服务器时的时间和客户机IP地址呢?
我知道在服务器winsock控件的ConnectionRequest事件写上这请句list additem winsock1(0).RemoteHostIP是可以把连接上来的客户机IP存放到listbox中,但因为多机连接。。所以不知道要怎样才能知道那台客户机连接之后又关闭并在listbox中删除客户机相应的IP地址。。谢谢。。。

地主 发表时间: 06-02-15 02:35

回复: jhkdiy [jhkdiy]   版主   登录
我的个人想法:建个Timer控件,然后每隔一段时间检测各客户机的连接状态。

B1层 发表时间: 06-02-15 15:30

回复: hzqqun [hzqqun]   论坛用户   登录
呵呵,问题解决了。。添加了一个按钮控件(刷新),按一下刷新按钮就把list的内容清除之后检查一遍客户机是否连接状态,如果是连接就把IP添加到list中。。

B2层 发表时间: 06-02-17 02:49

回复: jhkdiy [jhkdiy]   版主   登录
呵呵,这个注意也不错。

B3层 发表时间: 06-02-17 13:49

回复: hzqqun [hzqqun]   论坛用户   登录
还有一个问题。。请问怎样才能把计算机名一起添加到listbox 中。。

B4层 发表时间: 06-02-18 02:35

回复: jhkdiy [jhkdiy]   版主   登录
是将本地计算机的名添加到列表还是各客户机的计算机名?

B5层 发表时间: 06-02-19 21:53

回复: hzqqun [hzqqun]   论坛用户   登录
是要添加客户机的计算机名,如果是本机我知道可以用API函数来获取,但不知添加客户机的计算机名需要怎样添加。。谢谢。。

B6层 发表时间: 06-02-19 22:47

回复: jhkdiy [jhkdiy]   版主   登录
可以直接在数据到达或检验客户连接状态是使用RemoteHost属性啊。
Private Sub sckHttp_DataArrival(ByVal bytesTotal As Long)
    Dim strReturnData As String
   
    sckHttp.GetData strReturnData
    '假如客户是sckHttp,如果是winsock控件数组也可以用循环搞定它。
    List1.AddItem sckHttp.RemoteHost
    txtReturnData.Text = txtReturnData.Text + strReturnData
End Sub

B7层 发表时间: 06-02-20 00:36

回复: hzqqun [hzqqun]   论坛用户   登录
List1.AddItem sckHttp.RemoteHost
我也是利用remotehost,但是不启作用,添加到list1里是空的。。

B8层 发表时间: 06-02-20 05:22

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号