vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Array mit Winsock 
Autor: XCsom
Datum: 09.07.06 15:58

Für alle, die es interessiert und für die Nachwelt. Code ist zwar alles andere als gut, aber so kann man anfangen einen Multiuser Chat zu basteln. Danke für eure Unterstützung!!!

Imports System.Text
Imports System.Net
Imports System.Net.Sockets
Imports System.Threading
 
Public Class Form1
 
    Dim hostsocket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, _
      ProtocolType.IP)
 
    Dim clientsocket As Socket
 
    Public Shared serverstat As Integer = 0
 
    Dim ClientThreads As New List(Of Thread)
 
    Dim clients As New List(Of Socket)
 
    Dim AcceptThread As New Thread(AddressOf AcceptClients)
 
    Private Sub HostBN_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles HostBN.Click
 
        Dim iphost As IPHostEntry = Dns.Resolve(Dns.GetHostName())
 
        Dim ip As IPAddress = iphost.AddressList(0)
 
        Dim port As Integer = 26000
 
        Dim endpoint As New IPEndPoint(ip, port)
 
        hostsocket.Bind(endpoint)
 
        hostsocket.Listen(5)
 
        serverstat = 1
 
        ServerStatLB.Text += " " & serverstat
 
        AcceptThread.Start()
 
    End Sub
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
 
        CheckForIllegalCrossThreadCalls = False
 
    End Sub
 
    Public Sub ReceiveFromClients()
 
        Dim clientnew As Socket = clientsocket
 
        Try
 
            Do While serverstat = 1
 
                Dim buffer(clientnew.ReceiveBufferSize) As Byte
 
                clientnew.Receive(buffer)
 
                Dim message As String = GetMessage(Encoding.ASCII.GetString( _
                  buffer))
 
                MessTB.Text += message & Environment.NewLine
 
            Loop
 
        Catch ex As Exception
 
        End Try
 
    End Sub
 
    Private Sub AcceptClients()
 
        Do While serverstat = 1
 
            clientsocket = hostsocket.Accept()
 
            Dim bytes(clientsocket.ReceiveBufferSize) As Byte
 
            clientsocket.Receive(bytes)
 
            Dim message As String = GetMessage(Encoding.ASCII.GetString(bytes))
 
            If message.StartsWith("con") Then
 
                message = message.Remove(0, 3)
 
                ClientsLB.Items.Add(message)
 
                Dim responsemessage As String = message & " you are now" & _
                  "connected!"
 
                Dim rbytes() As Byte = Encoding.ASCII.GetBytes(responsemessage)
 
                clientsocket.Send(rbytes)
 
                clients.Add(clientsocket)
 
                Dim tmpClient As New Thread(AddressOf ReceiveFromClients)
 
                tmpClient.Start()
 
                ClientThreads.Add(tmpClient)
 
                Label1.Text = ClientThreads.Count
 
            End If
 
        Loop
 
    End Sub
 
    Public Shared Function GetMessage(ByVal Message As String) As String
 
        Dim mess As String = Nothing
 
        For i As Integer = 0 To Message.Length - 1
 
            If Message(i) = Nothing Then
 
                Exit For
 
            Else
 
                mess += Message(i)
 
            End If
 
        Next
 
        Return mess
 
    End Function
 
    Public Sub SetMessage(ByVal Message As String)
 
        Label2.Text += Message & Environment.NewLine
 
    End Sub
 
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Array mit Winsock1.358XCsom07.07.06 20:48
Re: Array mit Winsock902Drapondur08.07.06 01:49
Re: Array mit Winsock879XCsom08.07.06 02:36
Re: Array mit Winsock824Drapondur08.07.06 03:22
Re: Array mit Winsock898XCsom08.07.06 18:13
Re: Array mit Winsock851XCsom08.07.06 20:37
Re: Array mit Winsock907XCsom09.07.06 15:58

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel