Private intMax As Long
Private PMer As String
Private cfgPath As String
Private Sub Form_Load()
cfgPath = App.Path & "\logs.cfg"
intMax = 0
Winsock1(0).LocalPort = 1234
Winsock1(0).Listen
End Sub
Private Sub Form_Unload(Cancel As Integer)
Call WriteIni(cfgPath, Date, "[ " & Time & " ]", txtMsgBoard.Text)
End Sub
Private Sub winsock1_ConnectionRequest _
(index As Integer, ByVal requestID As Long)
intMax = intMax + 1
Load Winsock1(intMax)
Winsock1(intMax).LocalPort = 0
Winsock1(intMax).Accept requestID
DoEvents
Winsock1(intMax).SendData "connected"
End Sub
Private Sub Winsock1_DataArrival(index As Integer, ByVal bytesTotal As Long)
Dim strdata As String, x As Integer, y As Integer
On Error Resume Next
Winsock1(index).GetData strdata
If Left$(strdata, 4) = "nick" Then
lstNicks.AddItem Mid(strdata, 5, Len(strdata))
For x = Winsock1.LBound To Winsock1.UBound
Winsock1(x + 1).SendData Mid(strdata, 5, Len(strdata)) & " has connected"
DoEvents
Winsock1(x + 1).SendData "nicklist" & getNickList
DoEvents
Next
End If
If Left$(strdata, 10) = "disconnect" Then
lstNicks.RemoveItem getIndex(Mid(strdata, 11, Len(strdata)))
Winsock1(index).Close
For x = Winsock1.LBound To Winsock1.UBound
Winsock1(x + 1).SendData "delnick" & Mid(strdata, 11, Len(strdata))
DoEvents
Next
End If
If Left$(strdata, 4) <> "nick" And Left$(strdata, 8) <> "nicklist" Then
For x = Winsock1.LBound To Winsock1.UBound
Winsock1(x + 1).SendData strdata
Next
txtMsgBoard.Text = txtMsgBoard.Text & strdata & vbCrLf
End If
txtMsgBoard.SelStart = Len(txtMsgBoard.Text)
End Sub
Private Function getNickList() As String
Dim x As Integer, myStr As String
For x = 0 To lstNicks.ListCount
myStr = myStr & " " & lstNicks.List(x)
Next
getNickList = myStr
End Function
Private Function getIndex(myText As String) As Integer
Dim x As Integer
For x = 0 To lstNicks.ListCount
If lstNicks.List(x) = myText Then
getIndex = x
End If
Next
End Function