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

Visual-Basic Einsteiger
Re: Wie realisiert man das? (Socket) 
Autor: E7
Datum: 03.03.04 14:03

Hi,

siehe MSDN:

Zitat:

Akzeptieren von mehreren Verbindungsanforderungen
Der hier skizzierte elementare Server akzeptiert nur eine Verbindungsanforderung. Es ist jedoch möglich, mit Hilfe eines Steuerelementefelds mehrere Verbindungsanforderungen in einem Steuerelement zu akzeptieren. In diesem Fall brauchen Sie die Verbindung nicht zu schließen, sondern Sie erstellen einfach eine neue Instanz des Steuerelements (indem Sie dessen Index-Eigenschaft einstellen) und rufen die Accept-Methode der neuen Instanz auf.

Der folgende Code setzt voraus, daß es ein Winsock-Steuerelement namens „sckServer“ auf einem Formular gibt und daß dessen Index-Eigenschaft auf den Wert 0 gesetzt wurde; dadurch wird das Steuerelement automatisch Bestandteil eines Steuerelementefelds. Im Abschnitt (Allgemein) wird eine Variable namens „intMax“ auf Modulebene deklariert. In der Load-Ereignisprozedur des Formulars wird intMax auf 0 gesetzt, und die LocalPort-Eigenschaft des ersten Steuerelements im Feld wird auf 1001 gesetzt. Anschließend wird die Listen-Methode des Steuerelements aufgerufen, wodurch dieses beginnt, auf eine Verbindungsanforderung zu warten. Bei Eintreffen einer Verbindungsanforderung prüft der Code, ob der Index den Wert 0 hat (den Wert des wartenden Steuerelements). Ist der Wert 0, so erhöht das wartende Steuerelement den Wert von intMax und verwendet diese Zahl zur Erstellung einer neuen Steuerelementinstanz. Diese wird dann verwendet, um die Verbindungsanforderung zu akzeptieren.

Private intMax As Long

Private Sub Form_Load()
intMax = 0
sckServer(0).LocalPort = 1001
sckServer(0).Listen
End Sub

Private Sub sckServer_ConnectionRequest _
(Index As Integer, ByVal requestID As Long)
If Index = 0 Then
intMax = intMax + 1
Load sckServer(intMax)
sckServer(intMax).LocalPort = 0
sckServer(intMax).Accept requestID
Load txtData(intMax)
End If
End Sub


E7

???????????????????????????????????????????????????????????
e7o.de | jetzt (wirklich) neu!

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Wie realisiert man das? (Socket)756WMcPIMP03.03.04 13:17
Re: Wie realisiert man das? (Socket)465E703.03.04 14:03
Re: Wie realisiert man das? (Socket)467WMcPIMP03.03.04 17:06
Re: Wie realisiert man das? (Socket)455E703.03.04 19:47

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