Project

General

Profile

tigase server‘s some problems

tiger zhang
Added over 5 years ago

Hello everyone, I am from china ,I am a programmer.Please help me solve the problem:

1 Why when a client idel for 30 mins then it offline?

2 Why a client's network was disconneted for long time ,tigase is not recognized,but do not change its online status

My english is poor ,so don't laugh at me

That's all ,Thank you.


Replies (8)

Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam over 5 years ago

Please provide more details:

  1. What kind of client do you use? What version?

  2. What version of the Tigase server do you use?

  3. How do you connect to the server?

Added by tiger zhang over 5 years ago

1 A flex xmpp library named xiff 3.0

2 5.1.0-b3002

3 via ria client flash

Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam over 5 years ago

In such a case do you connect to the Tigase server via Bosh (XMPP over HTTP)? If this is the case then most likely your client does not handle Bosh timeouts properly and the Tigase thinks the client disconnected.

For the standard XMPP connection (non Bosh) there is nothing on the server which would disconnect you after 30 minutes. By default idle connections are closed after at least 24h of no activity.

It may also happen that the connection is broken but the server does not know about it, hence it does not change user's online status.

Added by tiger zhang over 5 years ago

i readed some news about xiff,it was said "XIFF (and SparkWeb) now support BOSH 1.6",so i think that client connect to the Tigase server via Bosh.how to solve these problem?

Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam over 5 years ago

Bosh should be avoided as much as possible. It is last resort approach for web clients if they cannot use a regular XMPP connection.

If you have problems with a standard XMPP connections, switching over to Bosh would make it only worse.

I suggest to use standard XMPP connection and implement kind of a ping (XMPP Ping for example) in your client to test the connection to the server. The client should be able to quickly discover broken connection and reconnect. Usually sending XMPP Ping once a minute is good enough.

Added by Matthew M over 5 years ago

I had a similar problem for client appears to be "online" while it is "disconnect". The client is iChat and it does not happen every time. Finally we caught this problem and drilled it down. It seems to be a client problem.

After iChat quits, the TCP connection to the server is still alive, it could be found by 'netstat', and status is ESTABLISHED. I think this makes Tigase think the iChat is still online. The session lasts about 10 minutes and the TCP session is disconnected.

During that time, other clients still see iChat buddy online, and can "send" message to it, of course, it went no where. I guess most likely it is due to some bugs in iChat not being able close TCP. On the other hand, can Tigase detects the TCP is dead or not for a user?

Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam over 5 years ago

The server tests client's connections every 10 minutes I think, so that would be consistent with your findings.

Added by tiger zhang over 5 years ago

client a send file to client b , some minutes later, b refuse, a offline ,who meet this problem?

    (1-8/8)