client side
server button click to client
this works
why isnt my custom code not working
Code:
Private Sub sckClient_DataArrival(ByVal bytesTotal As Long)
Dim strData As String, strPackets() As String
Dim strTrunc As String, bolTrunc As Boolean
Dim lonLoop As Long, lonTruncStart As Long
Dim lonUB As Long
sckClient.GetData strData, vbString, bytesTotal
strBuffer = strBuffer & strData
strData = vbNullString
If Right$(strBuffer, 1) <> Chr$(4) Then
bolTrunc = True
lonTruncStart = InStrRev(strBuffer, Chr$(4))
If lonTruncStart > 0 Then
strTrunc = Mid$(strBuffer, lonTruncStart + 1)
End If
End If
If InStr(1, strBuffer, Chr$(4)) > 0 Then
strPackets() = Split(strBuffer, Chr$(4))
lonUB = UBound(strPackets)
If bolTrunc Then lonUB = lonUB - 1
For lonLoop = 0 To lonUB
If Len(strPackets(lonLoop)) > 3 Then
Select Case Left$(strPackets(lonLoop), 3)
'Packet is a chat message.
Case "MSG"
ParseChatMessage strPackets(lonLoop)
'User list has been sent.
Case "LST"
ParseUserList strPackets(lonLoop)
frmChat.Label2.Caption = frmChat.lstUsers.ListCount
Case "ENT", "LEA"
ParseUserEntersLeaves strPackets(lonLoop)
'Add your own here! :)
Case "Kick"
Debug.Print "cazzcazzcazzcazzcazzcazzcazzcazzcazzcazzcazzcazzcazzcazz"
Case "cazz"
Debug.Print "ServeuserServeuserServeuserServeuserServeuserServeuserServeuserServeuser"
'Do something.
'Case "YYY"
'Do something.
End Select
End If
Next lonLoop
End If
Erase strPackets
strBuffer = vbNullString
If bolTrunc Then
strBuffer = strTrunc
End If
strTrunc = vbNullString
End Sub
server button click to client
this works
Code:
Private Sub cmdSend_Click()
If Len(txtMsg.Text) > 0 Then
If sckClient.State <> sckConnected Then
AddStatusMessage rtbChat, RGB(128, 0, 0), "> Not connected! Cannot send message."
Else
Dim strPacket As String
strPacket = "MSG" & Chr$(2) & strMyNickname & Chr$(2) & txtMsg.Text & Chr$(4)
sckClient.SendData strPacket
txtMsg.Text = ""
End If
End If
End Sub
Code:
Dim strPacket As String
strPacket = "Kick" & Chr$(2) & strMyNickname & Chr$(4)
SendGlobalData strPacket
Code:
Public Sub SendGlobalData(Data As String)
Dim intLoop As Integer
On Error GoTo ErrorHandler
With frmChat
If .sckServer.UBound > 0 Then
For intLoop = 1 To .sckServer.UBound
.sckServer(intLoop).SendData Data
DoEvents
Next intLoop
End If
End With
Exit Sub
ErrorHandler:
'if err.Number = 40006 then 'Socket not connected.
Resume Next
End Sub