|
From: gu h. <hai...@ho...> - 2007-08-27 10:56:36
|
Hi, all
Recently, I notice that during the logou process there is a strage
behaveior: sometimes in the initiator side's log file there is an unsend
logon message. I think the cause is: when the initiator receive an logout
from acceptor, it will call disconnect method. In the disconnect method,
it will setResponder(null), then set sessionstate as the initial state and
it ends. Between it sets sessionstate as the initial state and it ends.
Another thread session timer thread happenedly executes at
if (!state.isLogonReceived()) {
if (state.isLogonSendNeeded())
then, it will send a logon message, but it will not succeed because the
Iosession has been closed.
My solution is
if (!state.isLogonReceived()&&hasResponder()) {
if (state.isLogonSendNeeded()) {
Any questions please let me know:)
Regards
mike
_________________________________________________________________
享用世界上最大的电子邮件系统― MSN Hotmail。 http://www.hotmail.com
|