ofx addons that wraps socket.io-client-cpp for OF
Forks
Forks pushed to more recently than soixantecircuits/ofxSocketIO itself, plus any admin-confirmed fork with commits of its own — worth checking if you're hitting issues with the original.
AurelienConil/ofxSocketIO
tettou771/ofxSocketIO
2bbb/ofxSocketIO
colinbouvry/ofxSocketIO
Meach/ofxSocketIO
shiyuugohirao/ofxSocketIO
README
ofxSocketIO
Description
ofxSocketIO is an ofxaddon that wraps socket.io-client-cpp. It is still under ~~active~~ development.Installation
ofxSocketIO provides the compiled libraries for osx and linux64 out of the box. If you have to compile socket.io-client-cpp yourself, follow the installation instructions.# TLS/SSL
socket.io-client-cpp compiles with SSL support by default. However, we had issues with certificates and thus removed the SSL support. The provided libs (osx and linux64) does not support TLS/SSL.FYI, we simply removed the
find_package(OpenSSL) call in the CMakeLists.txt.Usage
Take a look at our example.
You'll need a socket.io server to communicate with. (check out our test server)
API
ofxSocketIO
# setup(std::string& address)
→ Creates a websocket connection with the address remote.# bindEvent(ofEvent<ofxSocketIOData&>& event, std::string eventName)
→ Binds an ofEvent to string trigger. Typically, you'd do: std::string eventName = "server-event";
socketIO.bindEvent(serverEvent, eventName);
ofAddListener(serverEvent, this, &ofApp::onServerEvent);
void ofApp::onServerEvent (ofxSocketIOData& data) {
// Will be triggered when the server emits a "server-event" event
// See the ofxSocketIOData API on how to use the data parameter here
}# getStatus()
→ Returns the current status. Either connected, closed, reconnecting or errored.# connectionEvent
→ An ofEvent triggered when the socket is connected to the server# notifyEvent
→ An ofEvent triggered when the socket is connected, closed, errored, or when the socket is trying to reconnect. Comes with std::string status parameter.# emit(std::string& eventName, std::string& data)
→ Emits an event with the specified event name and a string parameter (you'll have to cast your non-string datas).# closeConnection()
→ Force closes the socket.ofxSocketIOData
# getStringValue(std::string key)
→ Get the std::string value for the specified key.# getIntValue(std::string key)
→ Get the int value for the specified key.# getFloatValue(std::string key)
→ Get the float value for the specified key.# getDoubleValue(std::string key)
→ Get the double value for the specified key.# getBoolValue(std::string key)
→ Get the bool value for the specified key.# getVector()
→ Get the raw vector if the message is not a map.Troubleshooting
ping pong
You may experience issues with
'ping' and 'pong' events, as they are used internally by socket.io:- ping. Fired when a ping packet is written out to the server.
pong. Fired when a pong is received from the server.
sourceCredits
ofxSocketIO is maintained by Soixante circuits and hugohil.It exists thanks to the great work of the socket.io-client-cpp contributors.
These folks have made some useful contributions to
ofxSocketIO too: License
MIT
ofxAddons