Commit Graph

17 Commits

Author SHA1 Message Date
Chris Hannon 126ebb888c Implements a socket.io client extension, adds a test case and updates the android makefiles.
Contains the following tasks:
-initial socket.io extension commit
-sioclientimpl subclasses websocket:delegate to respond to websocket events
-implement static connect methods and basic client creation
-move SocketIO class files into correct extension folder (network)
-create SocketIO test in TestCpp
-update project references
-add missing static modifier to connect method
-implement basic test methods
-update extensions tests with SocketIO test entry
-implement basic handshake and opensocket methods for SocketIO
-add Delegate class to handle callbacks, implement virtual Delegate methods in test
-implement socket and client registries for lookup when connecting to hosts and endpoints
-connect delegate onOpen method by separating impl creation from connection
-update test to demonstrate onOpen callback
-create send and emit methods, move SIOClient into header file, add send and emit methods to test
-implement basic socket.io message parsing
-improve logging for events and messages
-add logic to pull event name from payload
-schedule heartbeat to keep connection alive, scheduled for 90% of the heartbeat interval from the server for safety
-add onConnect handler to to catch socket.io onconnect vs websocket onopen
-add disconnect and disconnectFromEndpoint methods to properly disconnect and destroy objects
-modify SIOClientImpl to track _uri for easier lookup in registries
-connect handler for onMessage to message event from socket.io, modify onError handler to take a string instead of WebSocket error code
-create SIOEvent callback type, implement event registry in clients, add test for event registration and callback
-update SIOEvent to use std::function and c++11, utilize cocos2d CC_CALLBACK method to bind selectors, this ensures that the *this reference is properly passed
-check for connect before sending or emitting in the client, cleanup some codes
-change connect logic to reuse existing socket connections instead of opening a new one
-implements get and set Tag methods for clients for easy reference
-improve endpoint handling, add endpoint tests to test layer
-additional error handling within socket disconnect error and failure to open connection
-fixes extracting endpoint from socket.io messages (in cases of the connect message, where there is 1 less colon for the connect message to the default namespace). Also fixes connecting to the default namespace "/" in the connectToEndpoint method
-add disconnect and onClose handlers to client so that onClose is called in the delegate
-add disconnect test methods to test layers
-change c-style casts to static_casts when using a CCDICT_FOREACH
-remove some unneeded namespace completion
-add usage documentation
-add handling for disconnect from server, cleanup some codes
-update comments and documentation in the socketiotest
-update includes so the NDK doesn't complain when compiling with c++11
-add socketio.cpp and test.cpp to the android makefiles
-update test URL to my public server, test script can also be found in my repo at https://github.com/hannon235/socket.io-testserver.git

Signed-off-by: Chris Hannon <himynameschris@gmail.com>
2013-07-11 17:41:42 -04:00
flaming0 bd0c40026f Fixed windows build (added CCComponent, CCArmature files to win32 project) 2013-06-16 00:34:23 +04:00
James Chen 5d89a0cd0c Merge branch 'develop' into update-spine-runtime-develop
Conflicts:
	extensions/proj.win32/libExtensions.vcxproj.filters
2013-06-04 13:46:05 +08:00
flaming0 5f1a4a4be7 Update for spine runtime 2013-06-02 18:26:46 +04:00
James Chen 05a88c89dc fixed #1647: Adding WebSocket support for Cpp and JSB. 2013-05-31 23:13:03 +08:00
Jaroslaw Lewandowski 3f7c506638 Ability to save/retrieve CCData into/from CCUserDefault 2013-05-29 01:06:41 +01:00
James Chen 7b138c6be9 issue #2075: Adding spinetest in TestCpp for win32. 2013-04-24 14:48:39 +08:00
James Chen 17d9837b45 Adds AssetsManager support for win32. 2013-02-25 18:03:38 +08:00
Jozef Prídavok 9889b4f9fd Added the very first implementation of CCEditBox for Win32. 2013-01-10 23:59:21 +01:00
James Chen 1882ca30f5 issue #1620: Binding sqlite3 to sys.localStorage. And updated win32 project configuration. 2013-01-06 14:42:24 +08:00
James Chen 0d0234de2a issue #1564: Updated Project configurations for android and win32 since physics_nodes was moved to Extension folder. 2012-11-20 16:22:14 +08:00
James Chen f7229f74d8 issue #1483: Synchronizing CCControlExtension to latest version. 2012-09-25 16:57:51 +08:00
James Chen 9fabf3a45b fixed #1470: Made CCBReader support cocosbuilder v2.1-beta0. 2012-09-19 18:41:50 +08:00
James Chen 6f3ee0299a issue #1458: Updated vs2010 project configuration. 2012-09-10 14:05:44 +08:00
James Chen 3ff21fe275 fixed #1424: http wrapper compiled ok on win32. 2012-08-09 17:04:55 +08:00
Walzer b8fa32dbc0 use extensions/GUI instead of extensions/UI 2012-07-30 22:57:59 +08:00
James Chen 2ab5e4ab9c issue #1399: Added vs2010 support. 2012-07-23 11:57:34 +08:00