Benjamin Sergeant
d0359a1764
new makeBroadcastServer websocket server method for classic servers, used by ws
2021-01-03 11:24:12 -08:00
Benjamin Sergeant
73b9c0b89b
(socket servers) merge the ConnectionInfo class with the ConnectionState one, which simplify all the server apis
2020-08-28 14:55:40 -07:00
Benjamin Sergeant
847fc142d1
(ixwebsocket server) change legacy api with 2 nested callbacks, so that the first api takes a weak_ptr<WebSocket> as its first argument
2020-07-25 11:42:07 -07:00
Benjamin Sergeant
2798886c0b
(websocket server) add a new simpler API to handle client connections / that API does not trigger a memory leak while the previous one did
2020-07-23 19:29:41 -07:00
Benjamin Sergeant
fbd17685a1
(socket+websocket+http+redis+snake servers) expose the remote ip and remote port when a new connection is made (see #222 ) / only ipv4 is handled
2020-07-08 12:10:35 -07:00
Benjamin Sergeant
558daf8911
(websocket) WebSocketServer is not a final class, so that users can extend it ( fix #215 )
2020-06-15 18:29:42 -07:00
Benjamin Sergeant
179e17895d
unique_ptr for sockets
2020-03-24 12:48:55 -07:00
Benjamin Sergeant
4c66a7561e
(WebSocketServer) add option to disable deflate compression, exposed with the -x option to ws echo_server
2020-02-18 21:38:28 -08:00
Benjamin Sergeant
aa12098cb5
add -6 option to ws echo_server / cf #148
2020-01-26 16:44:44 -08:00
Benjamin Sergeant
5d4bb90703
(SocketServer) add ability to bind on an ipv6 address
2020-01-26 16:21:56 -08:00
Benjamin Sergeant
313949f087
SocketServer::handleConnection takes an std::shared_ptr<Socket> instead of a file descriptor
2019-09-30 21:48:55 -07:00
Benjamin Sergeant
f84bc53c8d
Feature/httpd ( #94 )
...
* Stub code for http server
* can send a response, cannot process body yet
* write headers to the response
* remove commented code
* add simple test + set default http handler
* tweak CI + unittest
* add missing file
* rewrite http::trim in a simple way
* doc
2019-06-23 14:54:21 -07:00
Benjamin Sergeant
c65fec7271
clang format, based on cpprest
2019-05-30 08:46:50 -07:00
Benjamin Sergeant
7740028291
all derived class use final keyword
2019-05-12 11:43:21 -07:00
Kumamon38
c3431f19bf
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
eac611ab1e
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
932bb732e0
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
57c22cddb8
make a class hierarchy for server code (IXWebSocketServer <- IXSocketServer)
2019-01-06 12:09:31 -08:00
Benjamin Sergeant
bce5ef2dca
timeout is configurable
2019-01-03 18:33:08 -08:00
Benjamin Sergeant
bd1c8873d0
capture path/uri when connecting, and pass it back through callbacks in the openInfo member
2019-01-03 17:44:10 -08:00
Benjamin Sergeant
6ac3bdb94a
implement a max connections (default = 32) settings
2019-01-03 17:05:44 -08:00
Benjamin Sergeant
097c7e5397
server unittest for validating client request / new timeout cancellation handling (need refactoring)
2019-01-02 16:08:32 -08:00
Benjamin Sergeant
946d7015a2
more named constants
2019-01-01 19:23:27 -08:00
Benjamin Sergeant
7c4f14f941
thread accepting connections can be cancelled/stopped externally
2019-01-01 16:11:27 -08:00
Benjamin Sergeant
ead54d6c37
listen job run in its own thread, non blocking
2019-01-01 14:52:14 -08:00
Benjamin Sergeant
d279aecb87
cleanup / remove printf, add mutex, remove hardcoded values, can pass in a binding host
2019-01-01 14:28:41 -08:00
Benjamin Sergeant
67de0fc8da
use shared_ptr
2019-01-01 13:53:13 -08:00
Benjamin Sergeant
8ed2399517
unittest pass
2019-01-01 13:47:25 -08:00
Benjamin Sergeant
cf340011e2
record workers in a map instead of a vector
2018-12-31 14:52:59 -08:00
Benjamin Sergeant
b2eb07db14
server code has a callback that takes a websocket
2018-12-30 22:12:13 -08:00
Benjamin Sergeant
379a845166
cleanup / use a websocket instead of raw websockettransport
2018-12-30 22:00:49 -08:00
Benjamin Sergeant
266cf93584
can accept multiple connection / server can send data back to client
2018-12-30 21:16:05 -08:00
Benjamin Sergeant
0ee71e9a09
proof of concept server implementation
2018-12-29 23:15:27 -08:00