vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 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
Re: Interessantes Winsock-Problem 
Autor: SenZe
Datum: 24.08.08 15:03

TheNukeduke schrieb:
Zitat:


Wozu überhaupt diese Schleife mit dem DoEvents? Ich seh nicht
ganz den Sinn darin, in dem ConnectionRequest Event
zu warten, bis die Daten versendet wurden. Find ich ehrlich
gesagt unschön.


Wenn ich ganz ehrlich bin, weiß ich nicht mehr wieso ich das gemacht habe. Aber es gab bestimmt einen Grund. Ich habe jetzt die Schleife mit DoEvents mal auskommentiert und gucke, ob das alles geht wie gewohnt.

Zitat:


Dann ist die Zeile
wsckServer(anzahlVerbindungen).LocalPort =
Val(txtLocalPort.Text)
unnötig.


Ist das so? Das hieße ja, dass ein neu geladenes Socket praktisch den Local Port "erbt"?

Zitat:


Man könnte aber evtl. hier ein .Close ausführen, um
den Sock sicher resettet zu haben.
Vor einem Connectversuch würde ich auch immer .Close
ausführen. Sicher ist sicher.


Ok, klingt logisch. Aber das ist ja sicher nicht die Problemquelle, oder? Sonst würde doch ein Laufzeitfehler entstehen ("kann im Winsock-status nicht ausgeführt werden" oder so)

Zitat:


Übrigens erstellst du bei jedem eingehenden
Verbindungsversuch einen neuen Socket. Ich weiß nicht wie
lange dein
Programm am Stück läuft oder wie oft sich zu ihm verbunden
wird, aber so dürften es mit der Zeit immer mehr Speicher
verbrauchen. Ich habe das mit den Winsocks immer so
gehandhabt, dass ich parallel ein Array hatte, wo ich
gespeichert
habe, welcher Socket grad in Verwendung ist und welcher
nicht, und nur wenn alle bisherigen verbunden waren, habe ich
ein neues Element geladen. Man kann zwar auch wie du es hast
vorgehen, und beim Trennen der Verbindung ein
Unload Sock(index)
ausführen, aber das gibt nach meiner Erfahrung nicht wirklich
allen Speicher wieder frei.


Ok, das wäre vielleicht was, womit man den Code optimieren könnte. Das würde ich dann aber erst als sinnvoll erachten, wenn er überhaupt funktioniert ;)

Zitat:


Sehr merkwürdig finde ich aber, wenn ich den letzten Satz von
dir richtig verstanden habe, dass offenbar wohl beim
Server ConnectionRequest ausgelöst wird, aber nicht das
Connect Event beim Client.... Normalerweise wird, sobalt beim
Server ein ConnectionRequest eingeht, die Verbindung
automatisch angenommen, also beim Client ein Connect ausgelöst,
selbst wenn du dann im ConnectionRequest die Verbindung gar
nicht acceptest. (Beim Client folgt dann sofort darauf ein
Close).


Habe es grad nochmal probiert. Beim Client wird nicht das Connect-Event ausgelöst. Das heißt ja, dass das Signal "Connection Request ging beim Server ein" nicht mehr beim Client ankommt...

Zitat:


Von daher würde ich in diesem Fall stark darauf
tippen, dass der Router das Durchschleifen der öffentlichen
IP in Verbindung mit Portmapping nicht hinbekommt, oder irgendwo
noch eine Firewall dazwischen funkt. Hat der Router noch
eine eingebaute?


Schätze mal schon, dass er Router noch eine FW hat. Dachte eigentlich, das wäre Standard. Allerdings kann ich mir nicht erklären, dass da evtl. die FW des Routers ein Problem sein soll, da das Connect Signal ja anscheinend beim richtigen PC ankommt.

Was ich jetzt erstmal noch testen werde, ist, ob es auch Fehler gibt, wenn ein PC, der nicht im selbe n LAN ist, versucht, übers Inet bei mir zu connecten. Melde mich dann mit dem Testergebnis!

Nochmal ein dickes Danke für alles

LG,Robert

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Interessantes Winsock-Problem1.737SenZe23.08.08 18:01
Re: Interessantes Winsock-Problem1.090wb-soft23.08.08 18:08
Re: Interessantes Winsock-Problem1.108SenZe23.08.08 18:25
Re: Interessantes Winsock-Problem1.117VBStein23.08.08 19:05
Re: Interessantes Winsock-Problem1.162SenZe23.08.08 19:16
Re: Interessantes Winsock-Problem1.083wb-soft23.08.08 22:03
Re: Interessantes Winsock-Problem1.108SenZe23.08.08 22:51
Re: Interessantes Winsock-Problem1.062wb-soft24.08.08 06:47
Re: Interessantes Winsock-Problem1.235SenZe24.08.08 12:39
Re: Interessantes Winsock-Problem1.043TheNukeduke24.08.08 13:23
Re: Interessantes Winsock-Problem1.080SenZe24.08.08 13:47
Re: Interessantes Winsock-Problem1.084TheNukeduke24.08.08 14:08
Re: Interessantes Winsock-Problem1.079SenZe24.08.08 15:03
Re: Interessantes Winsock-Problem1.041SenZe24.08.08 17:43
Re: Interessantes Winsock-Problem1.190TheNukeduke24.08.08 19:09
Re: Interessantes Winsock-Problem1.066SenZe24.08.08 20:05
Re: Interessantes Winsock-Problem1.051SenZe29.08.08 16:26
Re: Interessantes Winsock-Problem1.020sudave30.08.08 04:22
Re: Interessantes Winsock-Problem1.068SenZe30.08.08 14:03
Re: Interessantes Winsock-Problem1.148SenZe30.08.08 14:16
Re: Interessantes Winsock-Problem1.137sudave30.08.08 14:44
Re: Interessantes Winsock-Problem1.026SenZe30.08.08 14:52
Re: Interessantes Winsock-Problem1.035sudave30.08.08 16:20
Re: Interessantes Winsock-Problem1.047TheNukeduke30.08.08 19:34
Re: Interessantes Winsock-Problem1.048SenZe01.09.08 20:38
Re: Interessantes Winsock-Problem994SenZe23.09.08 20:12
Re: Interessantes Winsock-Problem1.019SenZe28.09.08 19:08

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