With sgcWebSockets 4.2.1 several optimizations are included in this version, mostly for server components. Some methods have been modified or improved to increase server performance when there are several concurrent connections.
Changes included
[+] : Subscribe/Unsubscribe methods from Protocol Components, now accepts multiple channels. Just send channels separated by commas, to subscribe/unsubscribe from multiple channels.
[*] : Improved speed calling method WriteQueueData.
[*] : Improved speed calling to save session id when using authentication.
[*] : Improved speed saving MethodId in SGC Server Protocol.
[*] : Improved speed writing data in SGC Server Protocol.
[*] : Improved speed writing data in Files Server Protocol.
[*] : Improved speed writing data in Dataset Server Protocol.
[*] : Improved speed server detecting authentication type.
[*] : Improved speed decoding websocket headers.
[*] : Improved speed subscribe/unsubscribe to channels.
[*] : Improved speed extension permessage-deflate.
[*] : Fixed Bug TsgcWebSocketServer using plain TCP connections, OnBinary event was not called.
[*] : Fixed Bug using plain TCP connections, OnConnect event was not called.
[*] : Fixed Bug when notifyEvents = neAsynchronous, in some circumstances, index out of list processing asynchronous events.
[*] : Fixed Bug LoadBalancer Client can't connect to LoadBalancer server if TLS is enabled.
[*] : Fixed Bug SGC Protocol, when no channel is passed in publish method, exclude/include parameters may fail.
[*] : Fixed Bug TsgcWebSocketServer when heartbeat is enabled, if new connection is created after last broadcasted ping and before heartbeat timeout, connection was closed by error.
[*] : Fixed Bug MQTT Range Check Error.
[*] : Fixed Bug Broker Component, if OnError event is fired with "connection has been gracefully closed", OnDisconnect event is not called and watchdog doesn't works properly.
[*] : Fixed Bug Server Authentication, Authenticated variable was not initialized before OnAuthentication event.
[*] : Fixed Bug TsgcWSConnection.Close method, doesn't works properly.
[*] : Fixed Bug Validating UTF8 strings.
[*] : Fixed Bug reading extension permessage-deflate.
[*] : Fixed Bug websocket client, dead-lock accessing internal read thread.
[/] : TsgcThreadList class moved to sgcWebSocket_Classes_SyncObjs
[/] : TsgcCriticalSection class moved to sgcWebSocket_Classes_SyncObjs