-
sockets ile und close
hello @all,
habe aktuell ein Programm in der Mache, welches nach jedem gelesenen Satz (read socket) eine Antwort schickt (write socket) und danach die Verbindung erstmal wieder schliesst (close socket).
Die Verbindung wird grundsätzlich über VPN hergestellt, so dass vermutlich gewährleistet ist, dass keine anderen als erwartete Sätze und Clients anklopfen.
Anzahl der anklopfenden Sätze variiert sehr (manchmal nur ein Satz, manchmal mehrere hintereinander).
Der Client bemängelt nun zu Recht die ewige closerei und den erneuten Aufbau (make socket, listen socket, accept socket, read socket, close socket) und spricht in diesem Zusammenhang von unnötigen Ressourcenverbrauch und Zeitverlust.
Ein komplettes Redesign möchte ich mir aber sparen (Motto: never change a running system).
Ich möchte deshalb um den Kernpunkt eine DO-Schleife legen.
Kann ich diese nun VOR dem 'accept socket' legen oder ist es angebracht den Loop erst VOR dem 'read socket' zu platzieren?
Und wie stark ist die Systembelastung durch diesen Loop? Kann ich diesen Punkt vernachlässigen?
Um den Loop abzubrechen denke ich an eine Art Zeitzähler, der nach 5 oder 10 Minuten Inaktivität 'close socket' durchführt und das ganze Prozedere neu starten lässt.
Ist das gefahrlos möglich?
Mag sich mal bitte jemand dazu äussern?
Danke
kuempi
-
Hi,
Ist es immer wieder derselbe Client der sich mit deinem Programm verbindet oder sind es verschiedene ?
Wenn die Verbindung nicht immer aktiv bleibt würde ich das accept mit in die Schleife nehmen, dann können sich mehrere auch gleichzeitig mit dem Programm connecten.(also auch der eine abgestürzte und der neuverbundene)
Gruss
Rince
-
Zitat von Rincewind
Hi,
Ist es immer wieder derselbe Client der sich mit deinem Programm verbindet oder sind es verschiedene ?
Wenn die Verbindung nicht immer aktiv bleibt würde ich das accept mit in die Schleife nehmen, dann können sich mehrere auch gleichzeitig mit dem Programm connecten.(also auch der eine abgestürzte und der neuverbundene)
Gruss
Rince
hello,
es ist immer derselbe client.
von daher tendiere ich persönlich auch dazu, erst VOR dem 'read socket' einzusetzen.
den loop VOR 'accept socket' zu setzen, wäre nur nice gewesen.
ich vermute aber aus der handbuchbeschreibung, dass der socket dabei nicht 'überschrieben' wird, sondern ein neuer angelegt wird und das system dadurch dichtgemacht wird....
gruss
k.
-
Klar, er akzeptiert dann einen neuen Client..
Man muss aber auch beachten, dass die Timeout Zahl nach Abbruch bei einem Programm durchaus länger sein kann.
Achte mal auf WRKTCPSTS *CNN mit dem entsprechenden Port.
Es kann sein dass ein alter abgebrochender client dann deinen server beschäftigt hält, obwohl du das gar nicht mehr willst.
Gruss
Rince
-
klappi
Zitat von Rincewind
Klar, er akzeptiert dann einen neuen Client..
Man muss aber auch beachten, dass die Timeout Zahl nach Abbruch bei einem Programm durchaus länger sein kann.
Achte mal auf WRKTCPSTS *CNN mit dem entsprechenden Port.
Es kann sein dass ein alter abgebrochender client dann deinen server beschäftigt hält, obwohl du das gar nicht mehr willst.
Gruss
Rince
mhh...
nach dem xsten anlauf scheint es nun zu funktionieren.
zumindest bleibt das proggi nicht mehr hängen.
der close vom clientsocket mit anschliessenden neu accept verursacht auch keine wartezeit, obwohl ich keine lebensdauer mitgegeben habe.
manchmal findet ein blindes huhn doch noch ein korn.
ich glaube, der tag wird doch noch schön
danke für deine anteilnahme
k.
Similar Threads
-
By homue in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 18-07-07, 16:47
-
By Stoeberl in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 10-01-07, 10:58
-
By horni in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 07-12-06, 18:51
-
By Squall in forum IBM i Hauptforum
Antworten: 82
Letzter Beitrag: 19-10-06, 15:37
-
By Squall in forum IBM i Hauptforum
Antworten: 31
Letzter Beitrag: 28-09-06, 17:53
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks