Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 22
  1. #11
    Fortgeschrittener
    Registriert seit
    20.09.2010
    Beiträge
    31

    Standard Chat

    Zitat Zitat von Bart2oo Beitrag anzeigen
    Könntest du ein Tutorial zum Thema "Chat" schreiben
    Server:
    Code:
    Imports System.Net.Sockets
    Imports System.IO
    Imports System.Net
    
    Module Module1
        Private server As TcpListener
        Private client As New TcpClient
        Private ipendpoint As IPEndPoint = New IPEndPoint(IPAddress.Any, 8000) ' eingestellt ist port 8000. dieser muss ggf. freigegeben sein!
        Private list As New List(Of Connection)
    
        Private Structure Connection
            Dim stream As NetworkStream
            Dim streamw As StreamWriter
            Dim streamr As StreamReader
            Dim nick As String ' natürlich optional, aber für die identifikation des clients empfehlenswert.
        End Structure
    
        Sub Main()
            Console.WriteLine("Der Server läuft!")
            server = New TcpListener(ipendpoint)
            server.Start()
    
            While True ' wir warten auf eine neue verbindung...
                client = server.AcceptTcpClient
    
                Dim c As New Connection ' und erstellen für die neue verbindung eine neue connection...
                c.stream = client.GetStream
                c.streamr = New StreamReader(c.stream)
                c.streamw = New StreamWriter(c.stream)
    
                c.nick = c.streamr.ReadLine ' falls das mit dem nick nicht gewünscht, auch diese zeile entfernen.
    
                list.Add(c) ' und fügen sie der liste der clients hinzu.
                Console.WriteLine(c.nick & " has joined.")
                ' falls alle anderen das auch lesen sollen können, an alle clients weiterleiten.
    
                Dim t As New Threading.Thread(AddressOf ListenToConnection)
                t.Start(c)
            End While
        End Sub
    
        Private Sub ListenToConnection(ByVal con As Connection)
            Do
                Try
                    Dim tmp As String = con.streamr.ReadLine ' warten, bis etwas empfangen wird...
                    Console.WriteLine(con.nick & ": " & tmp)
                    For Each c As Connection In list ' an alle clients weitersenden.
                        Try
                            c.streamw.WriteLine(con.nick & ": " & tmp)
                            c.streamw.Flush()
                        Catch
                        End Try
                    Next
                Catch ' die aktuelle überwachte verbindung hat sich wohl verabschiedet.
                    list.Remove(con)
                    Console.WriteLine(con.nick & " has exit.")
                    Exit Do
                End Try
            Loop
        End Sub
    End Module
    Client:
    Code:
    Imports System.Net.Sockets
    Imports System.IO
    
    Public Class Form1
        Private stream As NetworkStream
        Private streamw As StreamWriter
        Private streamr As StreamReader
        Private client As New TcpClient
        Private t As New Threading.Thread(AddressOf Listen)
        Private Delegate Sub DAddItem(ByVal s As String)
        Private nick As String = "unknown"
    
        Private Sub AddItem(ByVal s As String)
            ListBox1.Items.Add(s)
        End Sub
    
        Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
            Try
                client.Connect("127.0.0.1", 8000) ' hier die ip des servers eintragen. 
                ' da dieser beim testen wohl lokal läuft, hier die loopback-ip 127.0.0.1.
                If client.Connected Then
                    stream = client.GetStream
                    streamw = New StreamWriter(stream)
                    streamr = New StreamReader(stream)
    
                    streamw.WriteLine(nick) ' das ist optional.
                    streamw.Flush()
    
                    t.Start()
                Else
                    MessageBox.Show("Verbindung zum Server nicht möglich!")
                    Application.Exit()
                End If
            Catch ex As Exception
                MessageBox.Show("Verbindung zum Server nicht möglich!")
                Application.Exit()
            End Try
        End Sub
    
        Private Sub Listen()
            While client.Connected
                Try
                    Me.Invoke(New DAddItem(AddressOf AddItem), streamr.ReadLine)
                Catch
                    MessageBox.Show("Verbindung zum Server nicht möglich!")
                    Application.Exit()
                End Try
            End While
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            streamw.WriteLine(TextBox1.Text)
            streamw.Flush()
            TextBox1.Clear()
        End Sub
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            nick = InputBox("Nickname: ", "Namen festlegen", "unknown")
        End Sub
    End Class
    SampelChat: http://www.xup.in/dl,11413478/MultiS...-H_Sample.rar/


  2. #12
    CIH-Virus Avatar von roccihrs
    Registriert seit
    07.04.2009
    Beiträge
    437

    Standard

    -
    Geändert von roccihrs (25.05.2016 um 01:45 Uhr)


  3. #13
    Capt'n Crunch Avatar von till7
    Registriert seit
    10.07.2008
    Beiträge
    995

    Standard

    @roccihrs
    Es wäre vllt eleganter, das Ganze per HttpWebRequest() zu lösen.
    Vllt könntest du ein paar Informationen geben um welche Seite es handelt und was du genau auslesen möchtest.

    GET/POST Request's senden und dann die Antwort abfangen ist meistens besser.

    //Edit
    handelt es sich um die Seite battle.net ? Was willst du da genau auslesen?
    Geändert von till7 (30.10.2011 um 20:52 Uhr)
    gestohlen.

  4. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    roccihrs (30.10.2011)

  5. #14
    W32.FunLove Avatar von Death~
    Registriert seit
    17.10.2011
    Beiträge
    134

    Standard

    @roccihrs
    Du kannst den Button auch über die ID ansprechen, die du im Quelltext findest. Ansonsten ist die Zahl, die bei Forms in Klammern steht, der Index. Wenn du ihn veränderst, sprichst du auch andere Elemente an. Doch wie Till7 schon sagt, ist es um einiges geschickter, die HTTPWebRequest-Klasse zu verwenden.
    Lord, what fools these mortals be


  6. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    roccihrs (30.10.2011)

  7. #15
    CIH-Virus Avatar von roccihrs
    Registriert seit
    07.04.2009
    Beiträge
    437

    Standard

    -
    Geändert von roccihrs (25.05.2016 um 01:44 Uhr)


  8. #16
    W32.FunLove Avatar von Death~
    Registriert seit
    17.10.2011
    Beiträge
    134

    Standard

    Glaub mir, dass das Anwenden von HttpWebRequest viel einfacher, schneller und stabiler ist. Machs doch gleich richtig.
    Lord, what fools these mortals be


  9. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    roccihrs (30.10.2011)

  10. #17
    CIH-Virus Avatar von roccihrs
    Registriert seit
    07.04.2009
    Beiträge
    437

    Standard

    -
    Geändert von roccihrs (25.05.2016 um 01:44 Uhr)


  11. #18

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    Du könntest durch sämtliche Elemente iterieren und die value mit dem Text "Akzeptieren und Fortfahren" vergleichen.
    Das ist ziemlich unsauber, aber sollte immer funktionieren.

    Aber ich stimme hier auch meinen Vorposter(n) zu, so etwas mit dem WebBrowser zu machen ist immer schlecht.
    Geändert von inout (30.10.2011 um 21:33 Uhr)

  12. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    roccihrs (30.10.2011)

  13. #19
    CIH-Virus Avatar von roccihrs
    Registriert seit
    07.04.2009
    Beiträge
    437

    Standard

    -
    Geändert von roccihrs (25.05.2016 um 01:44 Uhr)

  14. #20
    Fortgeschrittener
    Registriert seit
    20.09.2010
    Beiträge
    31

    Standard

    versuch das ma mit focus zu machen


Seite 2 von 3 ErsteErste 123 LetzteLetzte

Ähnliche Themen

  1. Sammelthread: Photoshop, Cinema 4D etc. Tutorials
    Von Vitamin X im Forum GFX Tipps & Tutorials
    Antworten: 1
    Letzter Beitrag: 27.09.2011, 15:15
  2. C/C++ Bücher/Tutorials Sammelthread
    Von blackberry im Forum C, C++
    Antworten: 33
    Letzter Beitrag: 31.08.2010, 15:15
  3. Sammelthread: Photoshop, Cinema 4d etc. V-Tutorials
    Von styl0r^ im Forum GFX Tipps & Tutorials
    Antworten: 12
    Letzter Beitrag: 25.08.2010, 21:54
  4. .NET Bücher/Tutorials Sammelthread
    Von Sawyer im Forum .NET Sprachen - Techniken
    Antworten: 0
    Letzter Beitrag: 23.12.2009, 13:48
  5. GTA IV Sammelthread
    Von StefanW im Forum Games
    Antworten: 19
    Letzter Beitrag: 26.12.2008, 10:52

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •