home *** CD-ROM | disk | FTP | other *** search
- Attribute VB_Name = "CHAT_Functions"
- Option Explicit
- Public Sub InitServerList(ServerList As ComboBox)
- ' Populate Server List Box...
- ServerList.AddItem "VBLABWK3"
- ServerList.AddItem "VBLABWK9"
- End Sub
-
- '--------------------------------------------------------------
- Public Sub DebugSocket(TCPSocket As Winsock)
- ' Prints Information In A TCP Socket, For Debugging TCP Events...
- '--------------------------------------------------------------
- Debug.Print "TCPSocket.RemoteHost", TCPSocket.RemoteHost
- Debug.Print "TCPSocket.RemoteHostIP", TCPSocket.RemoteHostIP
- Debug.Print "TCPSocket.RemotePort", TCPSocket.RemotePort
- Debug.Print "TCPSocket.LocalHostName", TCPSocket.LocalHostName
- Debug.Print "TCPSocket.LocalIP", TCPSocket.LocalIP
- Debug.Print "TCPSocket.LocalPort", TCPSocket.LocalPort
- Debug.Print "TCPSocket.State", TCPSocket.State
- Debug.Print "====================================================="
- '--------------------------------------------------------------
- End Sub
- '--------------------------------------------------------------
-
- '------------------------------------------------------------------
- Public Sub ResPlaySound(ResourceId As Long)
- ' Uses Sound Play Sound To Play Back PreRecorded WaveFiles
- '------------------------------------------------------------------
- Dim sndBuff As String
- '------------------------------------------------------------------
- sndBuff = StrConv(LoadResData(ResourceId, "WAVE"), vbUnicode)
- Call sndPlaySound(sndBuff, SND_SYNC Or SND_MEMORY)
- '------------------------------------------------------------------
- End Sub
- '------------------------------------------------------------------
-
- '--------------------------------------------------------------
- Public Sub AddConnectionToList(Socket As Winsock, ConnList As ListBox)
- ' Adds A Connection Reference To A ListBox - [(Server)(LocalPort)(RemotePort)]
- '--------------------------------------------------------------
- Dim MemberID As String ' Connection Reference Variable
- '--------------------------------------------------------------
- ' Create MemberID From HostName and RemoteIP
- MemberID = Socket.RemoteHostIP & " [" & _
- Format(Socket.RemotePort, "0") & "] - [" & _
- Format(Socket.LocalPort, "0") & "]"
-
- ConnList.AddItem MemberID ' Add New Member To List
- ConnList.ItemData(ConnList.NewIndex) = Socket.Index
- '--------------------------------------------------------------
- End Sub
- '--------------------------------------------------------------
-
- '--------------------------------------------------------------
- Public Sub RemoveConnectionFromList(Socket As Winsock, ConnList As ListBox)
- ' Removes A Connection Reference From A ListBox
- '--------------------------------------------------------------
- Dim Conn As Long ' Connection Array Element Variable
- Dim MemberID As String ' Connection Reference Variable
- '--------------------------------------------------------------
- ' Create MemberID From HostName and RemoteIP
- MemberID = Socket.RemoteHostIP & " [" & _
- Format(Socket.RemotePort, "0") & "] - [" & _
- Format(Socket.LocalPort, "0") & "]"
-
- For Conn = 0 To ConnList.ListCount - 1 ' Search Each Member In List
- If (ConnList.List(Conn) = MemberID) Then ' Look For MemberID In List
- ConnList.RemoveItem Conn ' Remove MemberID From List
- End If
- Next ' Next Connection
- '--------------------------------------------------------------
- End Sub
- '--------------------------------------------------------------
-
- '--------------------------------------------------------------
- Public Sub GetIdxFromMemberID(Sockets As Variant, MemberID As String, Index As Long)
- '--------------------------------------------------------------
- Dim Idx As Long ' Socket cntl index
- Dim LocPortID As Long ' Local Port ID
- Dim RemPortID As Long ' Remote Port ID
- Dim RemoteIP As String ' Remote Host IP address
- Dim sStart As Long ' Substring begin position
- Dim sEnd As Long ' Substring end postition
- Dim Socket As Winsock ' Winsock socket
- '--------------------------------------------------------------
- sStart = 1
- sEnd = InStr(1, MemberID, " ") - 1 ' Get end of remote ip address
- If (sEnd > 1) Then
- RemoteIP = Mid(MemberID, sStart, sEnd) ' Get remote host ip address
- sStart = InStr(sEnd, MemberID, "[") + 1 ' Get start of remote port
- If (sStart > 1) Then ' If Start found
- sEnd = InStr(sStart, MemberID, "]") - 1 ' Get end of remote port
- If (sEnd > 2) Then ' If end found
- RemPortID = Val(Mid(MemberID, sStart, sEnd)) ' Get RemotePort
- sStart = InStr(sEnd, MemberID, "[") + 1 ' Get start of local port
- If (sStart > 1) Then
- sEnd = InStr(sStart, MemberID, "]") - 1 ' Get end of local port
- If (sEnd > 2) Then ' If End Found
- LocPortID = Val(Mid(MemberID, sStart, sEnd)) ' Extract local port
- For Each Socket In Sockets
- If ((Socket.RemoteHostIP = RemoteIP) And _
- (Socket.RemotePort = RemPortID) And _
- (Socket.LocalPort = LocPortID) And _
- (Socket.Index > 0)) Then ' Was a match found???
- Index = Socket.Index ' Save and return index
- Exit Sub ' Done... exit
- End If
- Next
- End If
- End If
- End If
- End If
- End If
- '--------------------------------------------------------------
- End Sub
- '--------------------------------------------------------------
-