Hey Leute,
Da das Forum wieder da ist kann ich sofort wieder losfragen.^^
Also ich habe ein Client mit einem Server, ich nutze den Code vom Tutorial von Kevin69.
Ich wollte jetzt eine FUnktion für Private nachrichten einbauen Alles klappt aber bisauf der Client fängt es irgendwie nicht ab (nur die Privaten nachrichten) hab schon alles Probiert...^^
Code zum Abschicken:
Spoiler anzeigen
Wie der Server es verarbeitet:
Spoiler anzeigen
Und wie der Client es empfängt:
Spoiler anzeigen
Die Messageboxen hab ich extra eingebaut damit ich besser sehen kann wann was passiert, aber der Client kann es wie gesagt nicht empfangen (keiner der msgboxen im oberigen Code kommen).
Würde mich freuen würdet ihr mir helfen.
Vielleicht ist es was ganz kleines vielleicht aber auch was riesieges keine ahnung
Mfg
Confix
Da das Forum wieder da ist kann ich sofort wieder losfragen.^^
Also ich habe ein Client mit einem Server, ich nutze den Code vom Tutorial von Kevin69.
Ich wollte jetzt eine FUnktion für Private nachrichten einbauen Alles klappt aber bisauf der Client fängt es irgendwie nicht ab (nur die Privaten nachrichten) hab schon alles Probiert...^^
Code zum Abschicken:
VB.NET-Quellcode
- Dim k As String = Nothing
- Dim count As Integer = 0
- If TabControl1.SelectedTab.Text.Contains(nick) Then
- k = TabControl1.SelectedTab.Text
- k = k.Replace(nick & "|", Nothing)
- MsgBox("IPRIVATE:" & k & "|" & TextBox1.Text)
- streamw.WriteLine("IPRIVATE:" & k & "|" & TextBox1.Text)
- streamw.Flush()
- TextBox1.Clear()
- Else
- streamw.WriteLine(TextBox1.Text)
- streamw.Flush()
- TextBox1.Clear()
- End If
Wie der Server es verarbeitet:
VB.NET-Quellcode
- Dim nicknns As String
- Dim txt As String
- Do
- Try
- Dim tmp As String = con.streamr.ReadLine ' warten, bis etwas empfangen wird...
- If tmp.StartsWith("IPRIVATE:") Then
- MsgBox("Server bekommt: " & tmp)
- tmp = tmp.Replace("IPRIVATE:", Nothing)
- Dim splcnt As Integer = 0
- For Each xddd In tmp.Split("|")
- splcnt += 1
- If splcnt = 1 Then
- nicknns = xddd
- ElseIf splcnt = 2 Then
- txt = xddd
- Else
- txt &= "|" & xddd
- End If
- Next
- For Each conuu As Connection In list
- If conuu.nick = nicknns Then
- conuu.streamw.WriteLine(con.nick & " : " & "|" & nicknns & "|" & txt & "_KUVATE_")
- con.streamw.WriteLine(con.nick & " : " & "|" & nicknns & "|" & txt & "_KUVATE_")
- MsgBox("Nachricht wird vom Server abgeschickt: " & con.nick & " : " & "|" & nicknns & "|" & txt & "_KUVATE_")
- End If
- Next
- Console.WriteLine("Private Nachricht..")
Und wie der Client es empfängt:
VB.NET-Quellcode
- Case msg.EndsWith("_KUVATE_")
- ' So jetzt ist es da
- MsgBox(msg)
- Dim nicknn As String = Nothing
- Dim txt As String = Nothing
- Dim cnt As Integer = 0
- ' Es bleibt nur noch NICKNAME : TEXT
- msg = msg.Replace("_KUVATE_", Nothing)
- For Each splitit In msg.Split("|")
- cnt += 1
- If cnt = 1 Then
- txt = splitit
- ElseIf cnt = 2 Then
- nicknn = splitit
- ElseIf cnt = 3 Then
- txt &= splitit
- Else
- txt &= "|" & splitit
- End If
- Next
- ' nicknn ist jetzt der nickname
- Dim tabvorhanden As Boolean = False
- For Each Tabpages As TabPage In TabControl1.Controls
- If Tabpages.Text = nick & "|" & nicknn Then
- AddItems(txt, Tabpages)
- Ton()
- tabvorhanden = True
- End If
- Next
- If tabvorhanden = False Then
- AddTab(nick & "|" & nicknn)
- Me.Invoke(New DAddItem(AddressOf AddItem), txt)
- Ton()
- End If
- MsgBox("Die nachricht ging an: " & nicknn & " vom user: " & nick & " mit den Text: " & txt)
Die Messageboxen hab ich extra eingebaut damit ich besser sehen kann wann was passiert, aber der Client kann es wie gesagt nicht empfangen (keiner der msgboxen im oberigen Code kommen).
Würde mich freuen würdet ihr mir helfen.
Vielleicht ist es was ganz kleines vielleicht aber auch was riesieges keine ahnung
Mfg
Confix