Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

sry bin jetzt noch nicht so fit und die Fehlermeldungen sagen mir jetzt auch nicht so viel, sofern ihr was wisst bitte sagen ;-)

datei_1231944983.PNG

Anfangs dachte ich das der Puffer überfüllt ist und habe ihn beim schließen der anwendung gelöscht allerdings wars das dann doch nicht :-(

würde mich auf baldige antwort freuen.

Simon

Geschrieben
Waum?!?!?!??!

wasseradern oder luftfeuchtigkeit.

im ernst, würdest du eventuell die zeilen, bei denen die exception geworfen wird, posten, würde man da nicht raten müssen.

das mehrfache aneianderreichen von fragezeichen und rufzeichen machen die fragestellung im übrigen auch nicht besser.

s'Amstel

Geschrieben (bearbeitet)

Tut mir leid, dachte die Fehler wären für euch schon ausschlagebend, die Zeile um die es sich handelt scheint diese zu sein. Da es ein Laufzeitfehler ist, wird mir im codefenster nicht angezeigt welche Zeile, jedoch steht in dem Fehler, das dieser wohl bei Zeile 99 sei. Nun dies wäre dann die betreffende:

   

networkStream.Read(bytesFrom, 0, CInt(clientSocket.ReceiveBufferSize))
Mfg Simon PS: Ich machs mal einfacher und Poste den ganzen Server code rein :-D
   Imports System.Net.Sockets

Imports System.Text

Module Module1

    Dim clientsList As New Hashtable

    Sub Main()

        Dim serverSocket As New TcpListener(8888)

        Dim clientSocket As TcpClient

        Dim infiniteCounter As Integer

        Dim counter As Integer


        serverSocket.Start()

        msg("Chat Server Started ....")

        counter = 0

        infiniteCounter = 0

        For infiniteCounter = 1 To 2

            infiniteCounter = 1

            counter += 1

            clientSocket = serverSocket.AcceptTcpClient()


            Dim bytesFrom(10024) As Byte

            Dim dataFromClient As String


            Dim networkStream As NetworkStream = _

            clientSocket.GetStream()

            networkStream.Read(bytesFrom, 0, CInt(clientSocket.ReceiveBufferSize))

            dataFromClient = System.Text.Encoding.ASCII.GetString(bytesFrom)

            dataFromClient = _

            dataFromClient.Substring(0, dataFromClient.IndexOf("$"))


            clientsList(dataFromClient) = clientSocket


            broadcast(dataFromClient + " Joined ", dataFromClient, False)


            msg(dataFromClient + " Joined chat room ")

            Dim client As New handleClinet

            client.startClient(clientSocket, dataFromClient, clientsList)

        Next


        clientSocket.Close()

        serverSocket.Stop()

        msg("exit")

        Console.ReadLine()

    End Sub


    Sub msg(ByVal mesg As String)

        mesg.Trim()

        Console.WriteLine(" >> " + mesg)

    End Sub

    Private Sub broadcast(ByVal msg As String, _

    ByVal uName As String, ByVal flag As Boolean)

        Dim Item As DictionaryEntry

        For Each Item In clientsList

            Dim broadcastSocket As TcpClient

            broadcastSocket = CType(Item.Value, TcpClient)

            Dim broadcastStream As NetworkStream = _

                    broadcastSocket.GetStream()

            Dim broadcastBytes As [Byte]()


            If flag = True Then

                broadcastBytes = Encoding.ASCII.GetBytes(uName + " says : " + msg)

            Else

                broadcastBytes = Encoding.ASCII.GetBytes(msg)

            End If


            broadcastStream.Write(broadcastBytes, 0, broadcastBytes.Length)

            broadcastStream.Flush()

        Next

    End Sub


    Public Class handleClinet

        Dim clientSocket As TcpClient

        Dim clNo As String

        Dim clientsList As Hashtable


        Public Sub startClient(ByVal inClientSocket As TcpClient, _

        ByVal clineNo As String, ByVal cList As Hashtable)

            Me.clientSocket = inClientSocket

            Me.clNo = clineNo

            Me.clientsList = cList

            Dim ctThread As Threading.Thread = New Threading.Thread(AddressOf doChat)

            ctThread.Start()

        End Sub


        Private Sub doChat()

            Dim infiniteCounter As Integer

            Dim requestCount As Integer

            Dim bytesFrom(10024) As Byte

            Dim dataFromClient As String

            Dim sendBytes As [Byte]()

            Dim serverResponse As String

            Dim rCount As String

            requestCount = 0

            For infiniteCounter = 1 To 2

                infiniteCounter = 1

                Try

                    requestCount = requestCount + 1

                    Dim networkStream As NetworkStream = _

                            clientSocket.GetStream()

                    networkStream.Read(bytesFrom, 0, CInt(clientSocket.ReceiveBufferSize))

                    dataFromClient = System.Text.Encoding.ASCII.GetString(bytesFrom)

                    dataFromClient = _

                        dataFromClient.Substring(0, dataFromClient.IndexOf("$"))

                    msg("From client - " + clNo + " : " + dataFromClient)

                    rCount = Convert.ToString(requestCount)


                    broadcast(dataFromClient, clNo, True)

                Catch ex As Exception

                    MsgBox(ex.ToString)

                End Try

            Next

        End Sub


    End Class

End Module

Bearbeitet von Gateway_man
Geschrieben

hm ein syntax fehler in der For schleife ist es nicht, denn würde er mir ja gleich bemengeln, also kann es ja nur ein logischer Fehler sein, der während der Laufzeit auftritt.Aber irgendwie kann ich diesen fehler nicht nachvollziehn :-(

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...