Chat empfangen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von hal2000.

    Chat empfangen

    HI ich hab hier n Problem mit meinem chat.

    Der server empfängt zwar die Daten die ich sende aber was hab ich davon wenn der server die daten hat. wie mach ich das das auch der client die nachricht empfangt.


    client

    VB.NET-Quellcode

    1. Imports System.Net.Sockets
    2. Imports System.Text
    3. Public Class Form2
    4. Private SimpleClient As New TcpClient
    5. Private Stream As NetworkStream
    6. Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    7. SimpleClient.Connect("127.0.0.1", 25)
    8. Stream = SimpleClient.GetStream
    9. End Sub
    10. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    11. Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes(textbox1.text)
    12. Stream.Write(sendBytes, 0, sendBytes.Length)
    13. End Sub
    14. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    15. TextBox2.Text = Stream.ReadByte
    16. End Sub
    17. End Class


    server

    VB.NET-Quellcode

    1. Imports System.Net.Sockets
    2. Imports System.Text
    3. Public Class Form2
    4. Private SimpleClient As New TcpClient
    5. Private Stream As NetworkStream
    6. Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    7. SimpleClient.Connect("127.0.0.1", 25)
    8. Stream = SimpleClient.GetStream
    9. End Sub
    10. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    11. Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes(textbox1.text)
    12. Stream.Write(sendBytes, 0, sendBytes.Length)
    13. End Sub
    14. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    15. TextBox2.Text = Stream.ReadByte
    16. End Sub
    17. End Class


    hab schon rumprobiert
    Mal so ne Frage: Wie macht man das am besten? Alle "Verbindungen" in einem Array speichern und diesen dann durchlaufen?

    ~ Chris
    To make foobar2000 a real random music player, I figured out the only way to achieve this is to use Windows Media Player.

    At some point in time, you recognize that knowing more does not necessarily make you more happy.
    Äh sorry ich hab zweimal meinen clienten reinkopiert.

    wie kann ich die empfangenen daten wieder zurück an die clienten schicken ??
    damit man sieht was man geschrieben hat und das die anderen das auch sehen.

    VB.NET-Quellcode

    1. Imports System.Net.Sockets
    2. Imports System.Text
    3. Public Class Form1
    4. Private SimpleServer As TcpListener
    5. Private Client As New TcpClient
    6. Private Stream As NetworkStream
    7. Dim bytes() As Byte
    8. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    9. SimpleServer = New TcpListener(System.Net.IPAddress.Parse(0), 25)
    10. SimpleServer.Start()
    11. SimpleServer.BeginAcceptTcpClient(AddressOf OnConnect, New Object)
    12. Form2.Show()
    13. End Sub
    14. Private Sub OnConnect(ByVal ar As System.IAsyncResult)
    15. Client = SimpleServer.EndAcceptTcpClient(ar)
    16. Stream = Client.GetStream
    17. ReDim bytes(Client.ReceiveBufferSize)
    18. Stream.BeginRead(bytes, 0, CInt(Client.ReceiveBufferSize), AddressOf onGetData, New Object)
    19. End Sub
    20. Private Sub onGetData(ByVal ar As System.IAsyncResult)
    21. Dim clientdata As String = Encoding.ASCII.GetString(bytes)
    22. Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes(clientdata)
    23. Stream.Write(sendBytes, 0, sendBytes.Length)
    24. Stream.BeginRead(bytes, 0, CInt(Client.ReceiveBufferSize), AddressOf onGetData, New Object)
    25. msgbox (clientdata)
    26. End Sub
    Hi,

    ich räume gerade mal meine Lesezeichen auf und habe diesen Thread gefunden. Er ist zwar schon ziemlich veraltet, aber vielleicht ist ja noch jemand an einer möglichen Lösung interessiert; vor allem da diese Frage oft von VB-Anfängern gestellt wird, die ein Einstiegsprojekt suchen.
    developerfusion.com/code/3574/…ientserver-program-for-c/

    Dieser Code muss noch in VB konvertiert werden - das erledigt z.B. diese Seite ganz gut:
    developerfusion.com/tools/convert/csharp-to-vb/

    PS: Ja, ich kenne §4 1f in den Boardregeln. Falls dieser Post irgendwem sauer aufstößt, bitte ich um einen kleinen Hinweis und unterlasse es in Zukunft, meine Lesezeichen aufzuräumen ;).
    Gruß
    hal2000