RiKkaRdo
16-03-2006, 10:28
Ciao a tutti,
chiedo aiuto a voi perchè non riesco a venirne fuori: il tema è la connessione (o meglio la disconnessione) TCP.
Da quanto ho letto in teoria la disconnessione viene sempre iniziata da una delle due parti.
client1 ->fin j
clent2 ->ack j+1
client2 ->fin k
client1 ->ack k+1
Nel mio caso invece ho una situazione del genere fra client mysql e server mysql:
client 1-> (manda un messaggio mysql_close()) sequence number + length = x
client 2-> fin j e ack x
client 1-> fin x ack j
client 2-> ack x+1 e sequence number j+1
client 1-> ack j+1 e sequence number x+1
Le cose strane sono che io vedo sono:
1: il client1 (client mysql) manda un messaggio (mysql) di quit al client2 (server mysql), il server lo interpreta (ack x = tutto ok) e inizia la chiusura della connessione con un fin j. Ora io mi aspettavo che client 2 mandasse un ack j+1 e BASTA! Invece anche lui sembra voler chiudere la connessione con un fin x.
2: è il server mysql (client2) a mandare l'ack (=j+1) di risposta al fin del client1 però aumenta anche il suo sequence number portandolo da j a j+1! Invece era client 1 che doveva aumentare j al passo precedente.
Boh ... confusione totale
Posso aggiungere solo che le librerie sono di mysql3.qualcosa. Anche se con TCP non centra nulla.
tnx per l'attenzione e scusate se il problema è molto teorico...
chiedo aiuto a voi perchè non riesco a venirne fuori: il tema è la connessione (o meglio la disconnessione) TCP.
Da quanto ho letto in teoria la disconnessione viene sempre iniziata da una delle due parti.
client1 ->fin j
clent2 ->ack j+1
client2 ->fin k
client1 ->ack k+1
Nel mio caso invece ho una situazione del genere fra client mysql e server mysql:
client 1-> (manda un messaggio mysql_close()) sequence number + length = x
client 2-> fin j e ack x
client 1-> fin x ack j
client 2-> ack x+1 e sequence number j+1
client 1-> ack j+1 e sequence number x+1
Le cose strane sono che io vedo sono:
1: il client1 (client mysql) manda un messaggio (mysql) di quit al client2 (server mysql), il server lo interpreta (ack x = tutto ok) e inizia la chiusura della connessione con un fin j. Ora io mi aspettavo che client 2 mandasse un ack j+1 e BASTA! Invece anche lui sembra voler chiudere la connessione con un fin x.
2: è il server mysql (client2) a mandare l'ack (=j+1) di risposta al fin del client1 però aumenta anche il suo sequence number portandolo da j a j+1! Invece era client 1 che doveva aumentare j al passo precedente.
Boh ... confusione totale
Posso aggiungere solo che le librerie sono di mysql3.qualcosa. Anche se con TCP non centra nulla.
tnx per l'attenzione e scusate se il problema è molto teorico...