|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Dec 2006
Città: Firenze
Messaggi: 118
|
[C++/Unix] Chiusura socket
Ho un programma C++ che apre un socket in listen e fa tutto quello che deve fare
![]() ![]() Esiste un comando linux o qualche riga C++ che mi permette di chiudere il socket zombie del programma chiuso?
__________________
Federica |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
Quote:
__________________
![]() |
|
![]() |
![]() |
![]() |
#3 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
bello Linux, bel sistema
![]() |
![]() |
![]() |
![]() |
#4 | |
Member
Iscritto dal: Dec 2006
Città: Firenze
Messaggi: 118
|
Quote:
signal(SIGTERM, funzione); Ma precisamente, dove va messa? nel main() all'inizio del programma?
__________________
Federica |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 2599
|
ma come sei monotono...inoltre un post che non serve a nulla (come questo rigo, ma almeno dopo ho scritto altro
![]() Quote:
Se ho ccapito bene, per risolvere dovresti cambiare un'opzione del socket, è giusto un rigo di codice, ma non lo dicordo ![]() EDIT: la devi mettere nel main...all'inizio. Poi ti crei la funzione "funzione" e li dentro chiudi il socket.
__________________
Hp pavilion dv6-1250el [cpu: P8700 - ati radeon hd 4650 1 gb - 4 gb ram - hd 320 7200 rpm!] Garmin Official Thread |
|
![]() |
![]() |
![]() |
#6 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
abbi pazienza, ma da sempre il mondo è popolato da contaballe che me lo rifilano come il sistema più sicuro del mondo che "non permette ai processi di prendersi tutte le risorse che vogliono", "al contrario di Windows"
![]() edit - anzi, al contrario del "sistema di mamma M$" ![]() |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 2599
|
hai cambiato l'avatar apposta??
![]() cmq ognuno la pensa come vuole...c'è chi preferisce windows, virus, antivirus, anti questo e quello..chi ama linux coi problemoni irrisolvibili delle socket....ma a me non interessa (e cmq in questa discussione non c'entra nulla) Solo è inutile dire "bello linux", quando Fede_Reghe ha chiesto tutta un altra cosa...e come se andassi nella sezione di windows e per ogni problema che qualcuno posta, io scrivessi "bello windows"....
__________________
Hp pavilion dv6-1250el [cpu: P8700 - ati radeon hd 4650 1 gb - 4 gb ram - hd 320 7200 rpm!] Garmin Official Thread |
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Dec 2006
Città: Firenze
Messaggi: 118
|
Grazie a tutti! Gestendo i segnali, e chiudendo la socket, it's all ok!
![]()
__________________
Federica |
![]() |
![]() |
![]() |
#9 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
|
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 2599
|
Quote:
![]() (non posso farti l'esempio dei socket su winzoz perchè non sò come funzionano li ![]() cmq se avesse inserito la gestione dei segnali oppure l'opzione sulla socket, questo problema non si avrebbe avuto...Inoltre il suo problema è che, quando riavvia il programma (credo sia il client ma il discorso è sempre lo stesso), la porta che usa risulta ancora occupata. Per questo la bind ritorna errore....non c'è nessun problema di memoria...anzi. sullo Stevens o gapil se ne parla...
__________________
Hp pavilion dv6-1250el [cpu: P8700 - ati radeon hd 4650 1 gb - 4 gb ram - hd 320 7200 rpm!] Garmin Official Thread |
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: May 2004
Città: Napoli
Messaggi: 773
|
Quote:
![]()
__________________
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. --Gerald Weinberg |
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 2599
|
Quote:
è stato inserito una sorta di "root"?? Se è cosi sono contento..finalmente dove 8 versioni di windows hanno fatto una cosa utile....cmq spiegami, sono curioso ![]()
__________________
Hp pavilion dv6-1250el [cpu: P8700 - ati radeon hd 4650 1 gb - 4 gb ram - hd 320 7200 rpm!] Garmin Official Thread |
|
![]() |
![]() |
![]() |
#13 | ||||
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
![]() guarda, pure da Windows XP (lasciando perdere account amministrativi vs. LUA e menate varie), apri esplora risorse e dimmi se riesci a cancellare ntoskrnl.exe ![]() se hai paura di riuscirci (lol ![]() Quote:
![]() Quote:
![]() Quote:
![]() |
||||
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: May 2004
Città: Napoli
Messaggi: 773
|
Quote:
In ogni caso anche quando si è loggati con un account che ha privilegi di amministratore, è necessario confermare ogni operazione su file che non si trovano nelle cartella Utente dell'utente in questione (un po' come la tua home in Linux). E' molto, molto difficile che qualcosa riesca a farti danni seri senza che tu gli dica esplicitamente "puoi farlo". D'altra parte, non è che l'utente neofita medio di Ubuntu si faccia troppi problemi a scrivere sudo, quindi la componente di rischio è circa equivalente. Anche per questo molto software vetusto è incompatibile con win vista, dato che cerca di scrivere file di configurazione e dati direttamente nella cartella programmi, cosa che nn possono fare se non lanciati con espliciti permessi. Che poi io appoggi win vista e il mio giudizio possa essere di parte non c'è dubbio. Fattostà che, lentezza di avvio a parte, è il sistema più vicino alle mie esigenze che abbia provato. Ma è anche vero che la lentezza d'avvio è dovuta al fatto che non riesco a resistere all'orologio e al calendario sulla sidebar, e allo sfondo con le foto delle vacanze, e alle finestrelle trasparenti... ![]()
__________________
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. --Gerald Weinberg |
|
![]() |
![]() |
![]() |
#15 | |||
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
Quote:
![]() Quote:
|
|||
![]() |
![]() |
![]() |
#16 | ||
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 2599
|
Quote:
Se non avessi un antivirus, il pc lo dovrei formattare dopo 30 secondi (provato)...con un antivirus stò più o meno apposto, ma il pc non rende allo stesso modo (almeno quelli che non usano gli ultimi pc) Quote:
Scusa ma se io sono un server e stò in attesa di client...a questo punto se ne connettono 100, attraverso 100 porte diverse (giusto per dire). poi chiudo il server, i client riceveranno il messaggio che il socket è stato chiuso (dalle relative funzioni di lettura e scrittura sul socket). dove stà il problema? Mi sembra un comportamento normale....O chiudi il server di botto o stacchi il acvo di rete, tutto questo grave problema non lo vedo
__________________
Hp pavilion dv6-1250el [cpu: P8700 - ati radeon hd 4650 1 gb - 4 gb ram - hd 320 7200 rpm!] Garmin Official Thread |
||
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Jun 2005
Città: Napoli
Messaggi: 2599
|
Quote:
Se è come dici, certi programmi non potrebbero venire eseguiti..ma ci sono moltissime guide della serie "come ripulire il registro di windows"....se fosse un'operazione di super-utente questo non sarebbe possibile...eppure lo era Se il registro viene compromesso windows e i programmi diventano inutilizzabili....no?
__________________
Hp pavilion dv6-1250el [cpu: P8700 - ati radeon hd 4650 1 gb - 4 gb ram - hd 320 7200 rpm!] Garmin Official Thread |
|
![]() |
![]() |
![]() |
#18 | |
Member
Iscritto dal: Apr 2008
Messaggi: 181
|
Quote:
Questo almeno fino ad XP, Vista non so Ultima modifica di eVuGEGA : 22-06-2008 alle 15:35. |
|
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
gepeppe, lascia perdere: Windows ha sistemi di sicurezza notevoli già a partire da NT. E t'ho detto tutto.
Continuate la discussione sui socket, che è meglio. ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#20 |
Member
Iscritto dal: Dec 2003
Città: Napoli
Messaggi: 142
|
Rassicuro 71104 che il socket TCP "fantasma" che rimane aperto dopo un'interruzione improvvisa di un processo che aveva effettuato una bind viene chiuso dal kernel poco dopo. Mi sembra strano che Fede_Reghe debba aspettare anche 10 minuti, a me spesso capita che sia riutilizzabile sin da subito, o in caso di bind error al massimo aspetto 60 secondi. In ogni caso per evitare l'errore si può utilizzare l'opzione del socket "SO_REUSEADDR".
__________________
Ho concluso trattative positivamente con: Sirio, SchumyFast, ST3P, maupap, chrisp, BloodFlowers, Polvere, creature. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:44.