Commit Graph

67 Commits

Author SHA1 Message Date
James Chen 4237639dd6 Some fixes for websocket ()
* libwebsockets & curl are dynamic libraries now, modify project configuration for win32.
Updates WebSocketTest.cpp to test wss connection.

* Corrects some logic in WebSocket.cpp. Adds wss test case. WebSocketTest suggests developers to use `WebSocket::closeAsync` method which will not block current thread.

* mutex unlock fix in WebSocket.cpp. Reverts TEST URL.

* Allows self-assign cert.

* Each ws connection will create a virutal host now. Supports self-signed cert and update test case to suggest developer use ‘closeAsync’.

* Updates deps to 123.
2017-02-13 15:15:23 +08:00
James Chen b1f2a056b2 Refactor WebSocket to support SSL (wss) ()
* Refactors WebSocket:
1. Supports wss protocol
2. Uses only one libwebsockets context, multiple wsi instances to avoid multi-thread issues
3. Uses lws_create_vhost to create multiple virtual host, different protocols works

* Adds openssl include path to xcode project configuration.

* mac doesn’t depend on curl

* ca file path should be full path.

* More bug fixes like which in https://github.com/cocos2d/cocos2d-x/pull/6986

* Remove curl dependence for mac

* Updates Andorid.mk

* [win32] Adds wss support for win32, and updates openssl, libcurl, libwebsockets libraries.

* Updates external/config.json to 118.

* [win32] Updates cocos/2d/libcocos2d.vcxproj to fix compilation error while building in release mode.

* Linux support websocket ssl connection.

* Updates external/config.json

* Updates install-deps-linux.sh

* Adds dependence of binutils, print ld version

* Updates travis scripts.

* Updates travis scripts.

* Updates travis script, don’t output log while extracting.

* update before-install.sh

* updates before-install.sh

* updates before-install.sh

* don’t output log for installing software.

* Updates config.json to 120.
2017-01-19 13:55:14 +08:00
Wilson E. Alvarez c0e1e91373 Performance tweak: Use range-based for-loops and allocate std::vector size() and *end() on the stack where favorable. ()
* Use range-based for-loops and allocate std::vector size(), end(), cend(), rend(), crend() on the stack where favorable.

Other minor trivial changes were applied.

* Fixed Android compilation error

* Fixed windows-universal compilation error
2016-10-27 15:10:24 +08:00
James Chen 020745ee2e Disables 'permessage-deflate' extension for WebSocket temporarily. ()
Currently, we couldn't find out the exact reason.
libwebsockets official said it's probably an issue of user code since 'libwebsockets' passed AutoBahn stressed Test.
2016-08-15 13:59:01 +08:00
mogemimi 15030ad4c3 Fix typos in log messages 2016-07-25 02:53:22 +09:00
pandamicro ea6a6a8586 Reverse include path in network module and update web engine 2016-05-25 23:58:11 +08:00
pandamicro 8692ee176c Merge branch 'v3' of github.com:cocos2d/cocos2d-x into v3
Conflicts:
	cocos/network/HttpAsynConnection-apple.m
	cocos/network/HttpClient-android.cpp
	cocos/network/HttpClient.cpp
	cocos/network/HttpCookie.h
	cocos/network/HttpRequest.h
	cocos/network/HttpResponse.h
	cocos/network/SocketIO.cpp
	cocos/network/WebSocket.h
2016-05-25 19:19:27 +08:00
pandamicro a03c45ce62 Update network licenses and reformat 2016-05-18 14:29:54 +08:00
mogemimi 16878a53b1 Suppress MSVC warning C4800 2016-05-13 11:44:17 +09:00
minggo 74af3b5232 merge v3.11 back to v3 2016-05-12 09:50:03 +08:00
pandamicro 85812b4f5b Remove client_no_context_takeover extension in WebSocket (not working on Android/iOS/Mac) 2016-05-10 20:35:02 +08:00
pandamicro fcfaafa4a5 Fix SocketIO fail to connect issue on Android 2016-05-04 17:43:36 +08:00
mogemimi a3ad4cddf8 Fix warnings about signed/unsigned mismatch 2016-04-22 12:20:05 +09:00
Xpol Wan dc0f7bf903 Fixes format warnings. 2016-04-18 17:52:58 +08:00
James Chen 6dff5fdc13 std::shared_ptr<bool> -> std::shared_ptr<std::atomic<bool>>
The reference count field in shared_ptr is threadsafe but the value field is not. So we need to wrap a std::atomic for preventing potential thread racing.
2016-04-07 15:06:19 +08:00
pandamicro 3d7d5de95d Merge pull request from pandamicro/v3
Fix Socket IO handshake issue with latest version libwebsocket
2016-04-01 22:27:57 +08:00
pandamicro d93fbea0f6 Fix Socket IO connection issue on iOS 2016-03-31 21:21:20 +08:00
pandamicro 7e87b8b389 Fix Socket IO handshake issue with latest version libwebsocket 2016-03-25 17:13:28 +08:00
Xpol Wan 90456d29ba Fixes 1605 include path in 541 files
using the tools/coding-style/include-linter.py with -f options.
2016-03-20 21:53:44 +08:00
Ricardo Quesada 9477bfd801 Merge pull request from dumganhar/ws-close-fix
Closes websocket connection by dispatching a 'resetDirector' event.
2016-03-10 17:39:47 -08:00
mogemimi 3a87ee46c6 Fix compiler warning: "/* within block comment" 2016-03-03 10:44:51 +09:00
James Chen 037051d9c4 Closes websocket connection by dispatching a 'resetDirector' event. 2016-02-29 18:55:51 +08:00
James Chen b73b16d425 Adds isDestroy std::share_ptr variable to dectect whether websocket instance was destroyed. 2016-01-22 17:43:30 +08:00
James Chen c3e0edde06 'closed' state has to be set before quit websocket thread. 2016-01-22 16:10:49 +08:00
James Chen a64a789308 _readyState must be set to State::CLOSED and _delegate->onClose(this) must be invoked at the end of WebSocket::close. 2016-01-22 15:20:43 +08:00
James Chen ed9ed6c92f Don't change the behavior of WebSocket::close method. WebSocket::close is an synchronous method before, adds a WebSocket::closeAsync method for asynchronous closing. 2016-01-22 14:22:33 +08:00
James Chen f0066d03d7 whitespace cleanup. 2016-01-13 21:15:48 +08:00
James Chen dacd51c839 More function name renames. createThread -> createWebSocket, quitSubThread -> quitWebSocketThread. 2016-01-13 21:15:48 +08:00
James Chen 649ed67371 Removes lws_get_internal_extensions, adds permessage-deflate extension. 2016-01-13 21:15:48 +08:00
James Chen fc38857e6b LWS_SEND_BUFFER_PRE_PADDING -> LWS_PRE 2016-01-13 21:15:48 +08:00
James Chen 5d1e98340e Updates WebSocket::onSocketCallback & WebSocketTest.js 2016-01-13 21:15:48 +08:00
James Chen 2b5fde79e0 Comment fix & function name fix for WsThreadHelper:
sendMessageToUIThread -> sendMessageToCocosThread
sendMessageToSubThread -> sendMessageToWebSocketThread
joinSubThread -> joinWebSocketThread
2016-01-13 21:15:48 +08:00
James Chen d122784ad4 Adds WebSocket::closeAllConnections() method. 2016-01-13 21:15:48 +08:00
James Chen f9e8ae0f09 WebSocket refactoring, bug fixes, improvements, and passes most Autobahn Test (The most standard WebSocket Protocol Test). 2016-01-13 21:14:38 +08:00
XiaoFeng ab0efd933a Merge branch 'v3.10' of https://github.com/cocos2d/cocos2d-x into v3
Conflicts:
	CHANGELOG
	cocos/scripting/js-bindings/manual/cocos2d_specifics.cpp
	tests/js-tests/src/RenderTextureTest/RenderTextureTest.js
2016-01-09 18:01:56 +08:00
Wenhai Lin 168e851cce Fixed WebSocket may automatically disconnected if invoke `send` several times in quick succession on Android. 2015-12-31 10:42:06 +08:00
pandamicro 022bcc24f1 Merge branch 'v3.10' of github.com:cocos2d/cocos2d-x into v3
Conflicts:
	cocos/scripting/js-bindings/manual/chipmunk/js_bindings_chipmunk_manual.cpp
	cocos/scripting/js-bindings/manual/component/CCComponentJS.cpp
	cocos/scripting/js-bindings/manual/js_bindings_opengl.cpp
2015-12-20 22:56:33 +08:00
Sergey a172cce874 fix web socket crash 2015-12-17 11:48:25 +03:00
Wenhai Lin 4fa58602a8 Adds `std::nothrow` to the `new` statements 2015-12-16 14:02:55 +08:00
Zhou Yuntao 507f221483 fix a problem where WebSocket messages will pile up if server sends them faster than client's frame rate 2015-06-22 20:58:37 +08:00
andyque fcfcb4fd71 fix websocket dead lock 2015-01-16 18:43:57 +08:00
minggo 2ec85f8c4e Merge pull request from TimothyZhang/do-not-lock-when-no-message-in-websocket
avoid locking when message queue is empty in websocket
2014-12-25 14:09:35 +08:00
Vladimir Timofeev 2835b094da Cleanup order of fields initialization.
Make initialization order to match declarations.
This change twice reduces number of warnings when compiling on MacOS X with Xcode 6.1
Warnings was like "Field 'XXXX' will be initialized after field 'YYYY'"
2014-10-30 17:28:41 +03:00
Timothy Zhang 59424c0609 replace tabs with spaces. 2014-10-27 09:53:01 +08:00
Timothy Zhang 6d43d5e11e avoid locking when message queue is empty in websocket 2014-10-24 19:09:47 +08:00
minggo 3679d66c8e remove unneeded includes 2014-08-29 15:39:52 +08:00
Ricardo Quesada 3dda35b4ef Adds `std::nothrow` to `new`
Since cocos2d-x doesn't support exceptions, it is important to add
`std::nothrow` to all the `new` statements
2014-08-27 16:31:57 -07:00
Dhilan007 6cff8cb564 fixed warn and replace NULL with nullptr. 2014-07-10 00:45:27 +08:00
Ricardo Quesada 8bb8416c26 Improved directory structure 2014-04-29 17:37:36 -07:00
Ricardo Quesada 9b118e5e96 Squashed commit of the following:
commit 519fcd7f68e3586c376fd5e8d4a0ee220a48d225
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sat Apr 26 10:10:06 2014 -0700

    Updates templates files

commit 2b07843ebe592f56b2abc544ccf66d441bb19fc5
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sat Apr 26 10:08:19 2014 -0700

    compiles on Windows

commit b175522ef7205eaab3bd3f26c27c5d6514cbe2a4
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sat Apr 26 09:55:30 2014 -0700

    adds cocos2d.h

commit 4c3d14f929bac017b93ca843b4f149d352264a30
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sat Apr 26 09:54:24 2014 -0700

    re-adds missing files

commit f729181728959260d14c4152555534f5beec8e05
Merge: 148da79 2adac67
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sat Apr 26 09:51:12 2014 -0700

    Merge branch 'includes_fixes' of github.com:ricardoquesada/cocos2d-x into includes_fixes

commit 148da79010c5dffeab885933624cffaf3d588852
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sat Apr 26 09:49:12 2014 -0700

    Adds SimpleAudioEngine

commit 2adac67019180ec82b7bd03f0b67c12f62e29e77
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sat Apr 26 09:47:45 2014 -0700

    Compiles for Android

commit 4a300d1b9225fa5708f25a69a50bb531f0ac1a32
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sat Apr 26 09:13:35 2014 -0700

    Fixes the includes
2014-04-26 10:11:22 -07:00