| |
VB.NET - Ein- und UmsteigerWinsock in VB.NET | | | Autor: Bossi35 | Datum: 18.10.17 10:41 |
| Hallo zusammen,
ich bin neu hier und hoffe hier ein wenig Hilfe zu bekommen.
Ich programmiere seit etwa 15 Jahren inm VB6.
Das meiste habe ich mir selbst beigebracht.
Nun wird es Zeit dass ich mal auf VB.NET umsteige
Hier habe ich auch schon mein erstes Problem:
In VB.NET gibt es ja das Winsock-Steuerelemt nicht, welches ich häufig verwende.
Ich habe über diverse Google-Suchen schon herausgefunen dass man hier stattdessen wohl die TCPClient-Klasse verwenden sollte.
Hier gibt es aber keine Ereignisse wie z.B. DataArrival bei Winsock.
Kannm ir hier vlt. bitte jemand Hilfestellung geben?
Schönen Gruß
Bossi | |
Re: Winsock in VB.NET | | | Autor: Bossi35 | Datum: 18.10.17 14:11 |
| Hallo,
das habe ich auch schon gefunden.
Hier wird wohl das Wonsock-Steuerelent aus VB6 nachgebildet.
Allerdings ist der Code seeehr komplex und ich steige da nicht so ganz durch was da genau passiert.
Im Prinzip möchte ich mit meiner Anwendung nur über die TCPConnect-Klasse eine Verbindung aufbauen, Daten senden, empfangen und die verbindung trennen.
Mein Problem ist, dass ich momentan permanent manuell "prüfen" muss ob Daten angekommen sind.
Leider bin ich mit VB.NET noch nicht sehr vertraut, wie sich sowas elegant lösen lässt... | |
Re: Winsock in VB.NET | | | Autor: Manfred X | Datum: 18.10.17 15:16 |
| Du könntest jeder Sendung eine Zahl voranstellen, die der Anzahl der
gesendeten Bytes entspricht.
Der Empfänger prüft die Zahl der empfangenen Bytes und sendet eine
Quittung zurück.
Zu einer präzisen (byte-genauen) Prüfung kann die gesamte Sendung
nach dem Erhalt "retour" geschickt und vom Sender abgeglichen
werden. | |
Re: Winsock in VB.NET | | | Autor: Bossi35 | Datum: 18.10.17 18:29 |
| Ich glaube ich habe mein "Problem" falsch erklärt.
Ich versuche es an einem Beispiel:
In VB6 verbinde ich mich über die Connect-Methode des Winsock-Steuerelements:
Winsock1.Connect "192.168.88.55", 9300
Das Programm läuft weiter, und sobald die Verbindung aufgebaut wurde, wird das Connect-Ereignis des Winsock-Steuerelements aufgerufen.
Wenn Daten ankommen wird das DataArrival-Ereignis aufgerufen und mit der GetData-Methode kann ich die Daten dann abrufen.
Die TCPClient-Klasse bei VB-Net hat aber keine Ereignisse.
Problem 1:
Stelle ich die Verbindung über die Connect-Methode der TCPClient-Klasse her, stoppt das Programm an der Stelle, und läuft nicht weiter bis die Verbindung steht.
Problem 2:
Über die GetStream-Methode der TCPClient-Klasse kann ich zwar Empfangene Daten abrufen, ich "merke" aber nicht anhand eines Ereignisses, wie beim Winsock-Steuerelement, wann Daten da sind.
Hoffe ich habe das nun etwas verständlicher geschildert... | |
Re: Winsock in VB.NET | | | Autor: Kuno60 | Datum: 21.10.17 19:38 |
| Zitat: | |
Problem 1:
Stelle ich die Verbindung über die Connect-Methode der
TCPClient-Klasse her, stoppt das Programm an der Stelle, und
läuft nicht weiter bis die Verbindung steht.
| |
Damit das Programm nicht stoppt, kannst du "BeginConnect", "EndConnect" oder "ConnectAsync" verwenden.
Durch Abfrage von "Connected" kannst du feststellen, ob die Verbindung besteht.
Zitat: | |
Problem 2:
Über die GetStream-Methode der TCPClient-Klasse kann ich zwar
Empfangene Daten abrufen, ich "merke" aber nicht
anhand eines Ereignisses, wie beim Winsock-Steuerelement,
wann Daten da sind.
| |
Da es beim TcpClient keine Ereignisse gibt, musst du selbst prüfen, durch Abfrage von "Available" ob Daten empfangen wurden. Das kannst du mit einem Timer, BackgroundWorker oder Task machen. | |
| 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 |
|
|
Neu! sevPopUp 2.0
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
Copyright ©2000-2024 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
|
|