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

Fortgeschrittene Programmierung
Winsock Problem 
Autor: Zidane2012
Datum: 06.12.12 09:21

Hallo,

ich habe folgendes Problem. Ich habe ein Beispiel Server/Client Verbindung mit Winsock erstellt.
Der Verbindungsaufbau funktioniert und ich kann Daten hinher senden. Wenn ich aber z.B. den Client schließe, dann wieder starte funktioniert die Verbindung nicht mehr. Aber wenn ich beide schließe und wieder beide starte funktioniert alles wieder. Wie kann ich das Problem lösen?


Server
Private Sub Form_Load()
' Command1 deaktivieren
  Command1.Enabled = False
 
  ' Port 12345 soll abgehört werden
  Winsock1.LocalPort = 12345
 
  ' Abhör-Vorgang starten
  Winsock1.Listen
End Sub
'************************************************
' Wenn ein Computer versucht eine Verbindung mit dem
' Server aufzubauen
Private Sub Winsock1_ConnectionRequest( _
  ByVal requestID As Long)
 
  ' Das Abhören wird beendet
  Winsock1.Close
 
  ' Die Verbindung wird akzeptiert
  Winsock1.Accept requestID
 
  ' Command1 anschalten damit man die Nachricht
  ' senden kann
  Command1.Enabled = True
End Sub
'************************************************
' Wenn Daten ankommen
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  Dim sData As String
 
  ' Die ankommenden Daten werden in einer Variable
  ' (strDaten) gespeichert
  Winsock1.GetData sData
 
  ' Und in einer MutliLine-TextBox ausgegeben
  With txtMsg
    '.SelStart = Len(.Text)
    .SelText = sData
  End With
End Sub
'************************************************
 
'************************************************
Private Sub Command1_Click()
  ' Nachricht wird zum Client gesendet
  Winsock1.SendData Text1.Text & vbCrLf
End Sub
'***********************************************
 
' Wenn die Verbindundung getrennt wird
Private Sub Winsock1_Close()
  ' Command1 ausschalten
  Command1.Enabled = False
End Sub
Client
'************************************************
Private Sub Form_Load()
  Dim ServerIP As String
   ' Command1 deaktivieren
  Command1.Enabled = False
   ' Die IP-Adresse oder Computer-Name des Servers
   ServerIP = "localhost"
  ' 1. Parameter: Computername /-ip
  ' 2. Parameter: Portnummer
  Winsock1.Connect ServerIP, 12345
End Sub
'************************************************
' Wenn eine direkte Verbindung aufgebaut ist
Private Sub Winsock1_Connect()
  ' Jezt können wir mit dem Button die Nachricht senden
  Command1.Enabled = True
End Sub
'************************************************
Private Sub Command1_Click()
  ' Nachricht an Server senden
  Winsock1.SendData Text1.Text & vbCrLf
End Sub
'************************************************
' Wenn die Verbindung geschlossen wird
Private Sub Winsock1_Close()
  ' Ohne Verbindung kann man auch keine
  ' Nachrichten senden: Button Aus
  Command1.Enabled = False
End Sub
'************************************************
' Wenn Daten ankommen
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim fields() As String
  Dim sData As String
 
  ' Die ankommenden Daten werden in einer Variable
  ' (strDaten) gespeichert
  Winsock1.GetData sData
 
  ' Und in einer MutliLine-TextBox ausgegeben
  With txtMsg
   ' .SelStart = Len(.Text)
    .SelText = sData
  End With
 
 
 
 
End Sub
'************************************************
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Winsock Problem1.222Zidane201206.12.12 09:21
Re: Winsock Problem708wb-soft06.12.12 10:55
Re: Winsock Problem711ronnie06.12.12 11:29
Re: Winsock Problem749Zidane201206.12.12 13:21
Re: Winsock Problem722Preisser06.12.12 13:39
Re: Winsock Problem731Zidane201206.12.12 13:57

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