Benjamin Sergeant
f563d14134
better server termination / another try at preventing thread join failures
2019-04-24 09:45:53 -07:00
Kumamon38
d7595b0dd0
Real ping ( #32 )
...
* close method change and fix code
* missing mutex
* wip
* renaming and fixes
* renaming, fixes
* added enablePong/disablePong, add tests
* added new test cases
* add 1 test case
* fix gcd name to greatestCommonDivisor
* move ping and ping timeout checks into socket poll, local var in test cases and indent fixes
* indent issue
2019-04-18 09:24:16 -07:00
Benjamin Sergeant
f96babc6a6
websocket server: closed connection threads are joined properly
2019-04-17 20:36:26 -07:00
Benjamin Sergeant
ee25bd0f92
Feature/connection state ( #25 )
...
* (cmake) add a warning about 32/64 conversion problems.
* fix typo
* New connection state for server code + fix OpenSSL double init bug
* update README
2019-03-20 18:34:24 -07:00
Benjamin Sergeant
3a77e96a05
Feature/send large message ( #14 )
...
* introduce send fragment
* can pass a fin frame
* can send messages which are a perfect multiple of the chunk size
* set fin only for last fragment
* cleanup
* last fragment should be of type CONTINUATION
* Add simple send and receive programs
* speedups receiving + better way to wait for thing
* receive speedup by using linked list of chunks instead of large array
* document bug
* use chunks to receive data
* trailing spaces
2019-02-20 18:59:07 -08:00
Benjamin Sergeant
79dd766fab
C++14 + use make_unique and make_shared to make shared pointers
2019-01-11 21:25:06 -08:00
Benjamin Sergeant
98c579da03
make a class hierarchy for server code (IXWebSocketServer <- IXSocketServer)
2019-01-06 12:09:31 -08:00
Benjamin Sergeant
06d2b68696
header refactoring
2019-01-05 20:38:43 -08:00
Benjamin Sergeant
46d00360a8
unittest on appveyor
2019-01-04 17:28:13 -08:00
Benjamin Sergeant
d75753ec98
timeout is configurable
2019-01-03 18:33:08 -08:00
Benjamin Sergeant
30a0aa0a0f
implement a max connections (default = 32) settings
2019-01-03 17:05:44 -08:00
Benjamin Sergeant
cb904416c3
server unittest for validating client request / new timeout cancellation handling (need refactoring)
2019-01-02 16:08:32 -08:00
Benjamin Sergeant
6bfabd5493
use select to detect new incoming connections
2019-01-01 22:21:07 -08:00
Benjamin Sergeant
0b90f7df1b
add a way to run in blocking more, which is useful for server mode to have N*thread instead of 2N*thread for N connections
2019-01-01 21:25:15 -08:00
Benjamin Sergeant
00ca7c8fb0
more named constants
2019-01-01 19:23:27 -08:00
Benjamin Sergeant
06b9b2e649
linux fix + unittest works with Linux
2019-01-01 17:13:26 -08:00
Benjamin Sergeant
b13fee16c1
crash when server failed to start
2019-01-01 16:14:46 -08:00
Benjamin Sergeant
9a7767ecb1
thread accepting connections can be cancelled/stopped externally
2019-01-01 16:11:27 -08:00
Benjamin Sergeant
9b82a33aff
listen job run in its own thread, non blocking
2019-01-01 14:52:14 -08:00
Benjamin Sergeant
77903e9d90
cleanup / remove printf, add mutex, remove hardcoded values, can pass in a binding host
2019-01-01 14:28:41 -08:00
Benjamin Sergeant
de66a87a7c
use shared_ptr
2019-01-01 13:53:13 -08:00
Benjamin Sergeant
5ea2028c22
unittest pass
2019-01-01 13:47:25 -08:00
Benjamin Sergeant
58a68ec0be
record workers in a map instead of a vector
2018-12-31 14:52:59 -08:00
Benjamin Sergeant
f8373dc666
more cleanup to propagate server connection error and let onOpen callback execute
2018-12-31 12:43:47 -08:00
Benjamin Sergeant
3febc2431d
only bind to localhost
2018-12-31 11:48:49 -08:00
Benjamin Sergeant
0bf736831a
server code has a callback that takes a websocket
2018-12-30 22:12:13 -08:00
Benjamin Sergeant
7710bf793f
cleanup / use a websocket instead of raw websockettransport
2018-12-30 22:00:49 -08:00
Benjamin Sergeant
a6a43bd361
can accept multiple connection / server can send data back to client
2018-12-30 21:16:05 -08:00
Benjamin Sergeant
a39209a895
proof of concept server implementation
2018-12-29 23:15:27 -08:00