vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 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
TCP Verbindung, Programm hängt sich auf 
Autor: DerDude
Datum: 28.12.08 13:55

Hallo zusammen,
ich hoffe ich poste meine Frage hier an der richtigen Stelle! Falls nicht, bitte verschieben...

So, ich hab mit Hilfe des Visual Basic Kompediums eine Netzwerkverbindung zu einem 2. Rechner aufgebaut. Der Verbindungsaufbau und Datentransfer klappt auch wunderbar, allerdings gibt es 1 Problem.

Und zwar hängt sich mein Programm vom Server recht schnell auf, wenn vom Clienten nach dem Verbindungsaufbau nicht schnell genug Daten gesendet werden. Nach ca. 2 sek ist schluss. nix geht mehr.

Das kuriose ist, dass wenn ich anstatt einer Windows Forms Anwendung beides als Konsolenvariante laufen lasse wartet der Server geduldig nach dem Verbindungsaufbau auf eingehende Daten. Auch mehrere Minuten ohne sich aufzuhängen?

ch hab immer gedacht die Try Methode mit den Catch Befehlen erkennt hier eventuelle Fehler. und bricht ab? Oder wird hier nur der Verbindungsaufbau geprüft?

Hier mal mein Code:

MessageBox.Show("Warte auf Anfragen...")
 
Dim ServerSocket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, _
  ProtocolType.Tcp) 'ServerSocket erstellen
Dim ClientSocket As Socket                                                      _
                'Socket für Client definieren
 
Dim IPBytes() As Byte = {169, 254, 6, 23}
Dim IPAdr As New IPAddress(IPBytes)
Dim EPHost As New IPEndPoint(IPAdr, 5005)
' Auf Verbindungsanforderungen warten
Try
    ServerSocket.Bind(EPHost)
 
    ServerSocket.Listen(1)                                                      _
                      'Verbindungsaufbau
    ClientSocket = ServerSocket.Accept()                                        _
                    'Verbindung steht, Mc hat geantwortet
    MessageBox.Show("Client-Anfrage erhalten.")
 
    For i As Short = 0 To 100 Step 1
 
        Dim Nachricht1(100) As Byte                                             _
                             'Byte Variable "Nachricht" definieren
        ClientSocket.Receive(Nachricht1, 100, SocketFlags.None)
        Dim NachrichtText_1 As String = Encoding.Default.GetString(Nachricht1)  _
                            'Umwandeln der Bytes in eine Zeichenkette(String)
 
        TextBox1.Text = NachrichtText_1
 
    Next i
 
Catch Ex As SocketException
    MessageBox.Show("Socket-Error: " & Ex.Message)
Catch Ex As SystemException
    MessageBox.Show("Error: " & Ex.Message)
End Try
Anstatt der Schleife zum Empfangen von Daten hatte ich auch schon while schleifen oder timern etc. gearbeitet.

Vllt gibt es eine möglich zu erkennen, dass keine Daten gesendet werden und die Verbindung automatisch beendet wird?

Wäre nett, wenn mir jemand helfen könnte!

MFG
DerDude
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
TCP Verbindung, Programm hängt sich auf1.337DerDude28.12.08 13:55
Re: TCP Verbindung, Programm hängt sich auf624ModeratorRalf Ehlert28.12.08 19:20

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