| |

VB.NET - FortgeschritteneTCP 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 |  |
 | 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 |
  |
|
sevOutBar 4.0 
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
|
|
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
|
|