| |

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 |
  |
|
sevZIP40 Pro DLL 
Zippen und Unzippen wie die Profis!
Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. 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
|
|