Self-Hosted version. Q&A
As this is PHP based, how does it get around the long polling and heavy database read writes?Are websockets used?
PHP is used in the chat to process business logic (authorization check, check rights to send messages, save messages in the database, download message list) requests are executed quickly, there aren’t any operations requiring a long php script work. To send messages from one student to another, a comet server is used. It provides api for sending messages from php to the user's web browser. He also supports a constantly open connection on the web socket with each user. The comet server is written by us in C ++ and spends very few resources per user. The comet server is an open source project, its code is available on the github.
Has this product been tested to run on FreeBSD/MySQL?
The plugin is completely compatible with MySQL. It has not been tested with FreeBSD, but it must work without problems on it.
Initiate live open chats with many 1000+ concurrent users. That said, what would the minimum hardware specifications be to support 1000 concurrent live active users with "chat only" capabilities?
1000 people who are chatting and waiting for incoming messages will be easily served by the server. Each action, such as receiving a contact list or sending a message or receiving a correspondence history, makes a request to the web server and, by computational complexity, is comparable to a request to a simple web page that makes several simple sql queries to the database.
I do not want to be restricted by license as I intent to do so many mods. Could you please elaborate as to what "proprietary license" means?
"Proprietary license" means that we grant the use of one or more copies of software under the end-user license agreement (EULA), but ownership of those copies remains with the software publisher (hence use of the term "proprietary"). This feature of proprietary software licenses means that certain rights regarding the software are reserved by the software publisher. Therefore, it is typical of EULAs to include terms which define the uses of the software, such as the number of installations allowed or the terms of distribution.
The license does not limit your ability to modify the code, but limits the amount of websites on which you can install chat (only one). Also, you can purchase an extended license If you need more websites with the chat.
Cometserver is not guaranteed to work on freeBSD?
FreeBSD is a POSIX compatible OS, so there should be no problems with launching comets on the server. But if something goes wrong, then we have all the necessary skills to modify the code to be compatible with FreeBSD. The only limitation will be the FreeBSD version, it should not be old since the code is written using the c ++ 11 standard and requires the gcc compiler.