VB.net Chat

Dieses Thema VB.net Chat im Forum "Windows XP Forum" wurde erstellt von n3zmo, 29. Sep. 2005.

Thema: VB.net Chat Hallo zusammen. Ich habe ein kleiner Problem. Habe momentan einen Chat (Client und Server). Als erstes muss der...

  1. Hallo zusammen. Ich habe ein kleiner Problem. Habe momentan einen Chat (Client und Server). Als erstes muss der Server gestartet werden, danach können sich die User mit einem Account anmelden und somit wird der Client gestartet.

    Im Client hat es eine Textbox wo alle Nachrichten angezeigt werden und in einer Listbox werden alle user aufgelistet die online sind.

    Momentan ist es so das der user etwas verschickt und alle sehen es in dieser Textbox. Der Text wird zuerst zum Server gesendet und dieser Server leitet es weiter an allen Clients.

    Code:
      Public Sub Send(ByVal Data As String)
        If IsNothing(mobjClient) Then
          Dim arData(Len(Data) - 1) As Byte
          Dim intIndex As Integer
    
          For intIndex = 1 To Len(Data)
            arData(intIndex - 1) = Asc(Mid(Data, intIndex, 1))
          Next
    
          mobjSocket.BeginSend(arData, 0, Len(Data), SocketFlags.None, Nothing, Nothing)
        Else
          SyncLock mobjClient.GetStream
            Dim w As New IO.StreamWriter(mobjClient.GetStream)
            w.Write(Data)
            w.Flush()
          End SyncLock
        End If
      End Sub
    
    Das Problem liegt jetzt beim versenden von privaten nachrichten. Momentan habe ich das Programm so ausgebaut das wen man ein user anklickt in der Listbox ein Private Chat Fenster aufgeht. wen in diesem Fenster etwas hingeingeschrieben wird und enter drückt wird diese Message zum Server verschickt. (Der Server weiss das es sich um eine Privaten Nachricht handelt), ich weiss jetzt einfach nicht wie ich es machen soll das diese Nachricht nur demjenige Client verschickt wird den ich angeklickt habe in der Listbox.

    Mit diesem Code wird die Nachricht an alle Clients weitergeleitet. Hier wird ja aber diese Send Methode aufgerufen...

    Code:
     Dim qn As Client
          Dim qd As DictionaryEntry
          For Each qd In Client
            qn = qd.Value
            qn.Send(Data & vbCrLf)
            qn.Send(clear & vbCrLf)
            For i = 0 To userbox.Items.Count - 1
              qn.Send(client: & userbox.Items.Item(i) & vbCrLf)
            Next
          Next
    Hoffe das jemand helfen kann :)

    Gruss n3zmo
     
  2. Am einfachsten wäre es wohl dem Chat-Text irgendeinen Zusatz wie z.B. privateUSER hinzuzufügen und bei den Clients dann zu prüfen ob die Nachricht für mich bestimmt ist oder nicht und sie dann eben anzuzeigen oder nicht.

    Gruß
    Christian
     
Die Seite wird geladen...

VB.net Chat - Ähnliche Themen

Forum Datum
Windows Optionen hinterlassen Schatten Windows 7 Forum 17. Okt. 2013
Volumeschattenkopie Windows 7 Forum 20. Nov. 2010
Freeware-Schätze für Windows 7 Windows XP Forum 16. Feb. 2010
[GELÖST] ICQ öffnet Chatfenster nicht Firewalls & Virenscanner 25. Jan. 2009
Chatwing’s free chatbox. Windows XP Forum 31. Juli 2012