50 Commits

Author SHA1 Message Date
talksik c364dbc170 adding in use of username 2024-01-27 14:05:30 -08:00
Hanks afc1d8cfc5 Fix build error of IPPROTO_TCP on android
I got the following error when build this lib by source on android:

```
easywsclient.cpp:522:24: error: use of undeclared identifier 'IPPROTO_TCP'
    setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, (char*) &flag, sizeof(flag)); // Disable Nagle's algorithm
                       ^
1 error generated.
```

Add a header `#include <netinet/in.h>` fixed it.
2021-01-12 09:12:19 -05:00
David Baird 4b8bead6a1 Add a check for invalid frame length. Credit to Dane (4cad@silvertoque).
Closes #85.
2019-05-19 15:14:15 -04:00
Bit Connor 9bc8efb765 Increase max URL length 2019-05-19 09:08:38 -04:00
John Belmonte 9b87dc4880 remove debug output
The library is writing to stderr on normal conditions (about to connect, connected), which is likely not desired by library user.

If it has important use cases, consider restoring the output under compile or runtime control.
2018-03-14 10:00:32 -04:00
David Baird 189d9dd5f5 Maybe fix #57: vector iterator not dereferencable. 2017-12-09 03:12:25 -05:00
wpelissero 4eb06e0f1b poll() blocks for ever when timeout is negative. 2015-09-10 09:54:01 +02:00
Lindley French 5524d7f663 Even though there is no case where i does not get initialized, the compiler doesn't always know this. Avoid a maybe-unintialized warning for i. 2015-05-19 14:35:27 -07:00
David Baird e1e50d092d Add binary frames support and tests, to close feature request #38. 2014-12-06 23:38:35 -05:00
David Baird 5abf4a78bd Fix large frame >=65536 bytes header_size bug #37. Was being calculated as 8 (wrong). Now corrected to 10. 2014-11-12 00:53:51 -05:00
Ken 7bb7ed5600 . fixed indents 2014-09-12 17:26:57 +08:00
Ken 2fbf81aaee fixed bug in handling continuation frames. 2014-09-02 16:47:19 +08:00
Donald Pillou 045c3ebf9b Answer a ping with a pong
Websocket clients are supposed to do so.
2014-01-02 15:52:09 +01:00
Donald Pillou 5a54812efe Add method to send a websocket ping 2014-01-01 20:21:11 +01:00
Donald Pillou c5917f913e Add send/receive error handling 2013-12-30 16:32:35 +01:00
Donald Pillou cbfa74c0e9 Avoid most in-code #ifdefs 2013-12-30 16:03:46 +01:00
Donald Pillou 3d76a2ece9 Added optional origin header field 2013-12-30 13:22:41 +01:00
Donald Pillou 4dfa56b8cd Added some const 2013-12-30 13:12:23 +01:00
David Baird 81ed98ca9e Add timeout (in milliseconds) argument to poll() with a default of zero to preserve old behavior. 2013-12-28 09:41:43 -05:00
David Baird 079a5eb582 Exclude port from Host: header if port is 80. 2013-11-30 16:57:27 -07:00
David Baird b21fb350b9 Add masking key to close. Fixes #21. 2013-11-14 00:03:40 -07:00
David Baird e610b3c626 Eliminate trailing data on close. Fixes #21. 2013-11-14 00:00:28 -07:00
David Baird d678234e90 Fix masking calculation in txbuf. 2013-11-12 19:00:38 -07:00
David Baird fc12f28312 Check url size limit. 2013-11-12 18:41:43 -07:00
David Baird 33ca65e4e8 Move _CRT_SECURE_NO_WARNINGS check to the top of file. 2013-11-12 18:33:12 -07:00
David Baird 7d6681eea1 Fix type cast for recv(). 2013-11-12 17:19:38 -07:00
David Baird f05878ed89 Fix typo: CRTSECURE_NO_WARNINGS should be _CRT_SECURE_NO_WARNINGS. 2013-11-12 17:15:17 -07:00
David Baird 2cac70bcb8 Add masking to sent frames. Masking can be disabled by using the from_url_no_mask() factory instead of from_url(). 2013-11-12 14:46:19 -07:00
David Baird 7cbf090320 Fix issue #20: type cast in send(), add WSAStartup, and add CRTSECURE_NO_WARNINGS for MSVC2013. 2013-11-12 11:05:00 -07:00
kivatek 015344684f easywsclient for Windows
Revised a source file to be able to compile it in Linux and Windows.

Revised a description error of the include sentence for Windows.

followed the modification of the original version.

preparing for pull request.

preparing for pull request.

Convert tabs to spaces.
Add delete ws; to 'example-client.cpp'.

try2

try4
2013-10-03 00:55:50 +09:00
David Baird 1feac2e054 Rename struct to class (to help new C++ users who are unfamiliar that structs are classes). 2013-09-27 04:15:13 -06:00
David Baird 09c3ba8054 Prefer // comments over #if 0. 2013-09-27 04:04:36 -06:00
David Baird f453367866 Correct dependencies in Makefile. Add -Wall flag and fix all -Wall warnings. 2013-09-10 12:47:07 -06:00
David Baird 3cbc9719e9 Remove extraneous arguments. Closes #14. 2013-09-10 12:40:24 -06:00
David Baird ebd4a607fb Fixed URL parsing. Set default value for path.
Was matching parsing "ws://echo.websocket.org/" as host="echo.websocket.org/" which shouldn't have the "/" at the end.
Was also getting bogus values for path when it should have taken on a default value.
2013-07-12 13:08:45 -06:00
David Baird 50c2d0e18d * Switching from char to uint8_t
* Adding sockfd to ::close()
2013-05-14 11:11:07 -06:00
David Baird af97883097 Setting readyState to CLOSED when calling ::close() 2013-05-14 10:59:58 -06:00
David Baird 86ec5a65b1 * Calling ::close() when txbuf empties and readyState is CLOSING
* Removing unnecessary const.
* Fixing up spacing to be consistent with rest of code.
2013-05-14 10:51:37 -06:00
Pasquale Boemio bc1368b849 resolved some issue and added method to read readystate of the websocket 2013-05-11 09:55:41 +02:00
Pasquale Boemio b9a6eb362e removed vexatious line 2013-04-29 17:32:05 +02:00
Pasquale Boemio 370a899876 removed vexatious line 2013-04-29 17:28:40 +02:00
Pasquale Boemio 2b9575c434 added clean close method 2013-04-29 17:20:36 +02:00
David Baird e6fd1fc30e Close only if not already closed. 2013-04-27 23:34:09 -06:00
David Baird f7d998481c Adding close() method. It abruptly closes the socket (does not bother to send a
CLOSE message prior to actually closing the socket).
2013-04-27 23:26:19 -06:00
Pasquale Boemio db9c58f58e typo 2013-04-27 19:48:26 +02:00
Pasquale Boemio 3c8d98ecd0 added last case 2013-04-27 19:42:24 +02:00
Pasquale Boemio 54cd4023cb unused decision! 2013-04-26 22:27:52 +02:00
Pasquale Boemio d6b8dc8c41 added "no path in url" parser case 2013-04-26 22:20:48 +02:00
Pasquale Boemio bfc6fdad62 added case path null 2013-04-26 21:52:54 +02:00
David Baird af6d38638d Refactoring into separate .hpp and .cpp files. 2013-04-05 11:38:51 -06:00