Socket.IO module for Titanium using native Android and iOS clients.
Install the module to you project or globally by copying it into the modules folder. After that enable it in your tiapp.xml.
<modules>
<module platform="android">ti.socketio</module>
<module platform="ios">ti.socketio</module>
</module>
This module aims to be as compatible with the web client as possible. Please refer to the Client API for a full API documentation of all supported methods.
const io = require('ti.socketio');
const socket = io.connect('http://localhost:8080');
socket.on('connect', function() {
Ti.API.debug('socket connected');
socket.emit('hello', 'world');
});
Currently supported methods are:
io([url][, options])
(exposed asconnect
)socket.open()
socket.connect()
socket.emit(eventName[, ...args][, ack])
socket.on(eventName, callback)
(Note: Using acknowledgement callbacks not supported yet)socket.off([eventName], [fn])
socket.close()
socket.disconnect()
You can pass the option keys from both JS and native when creating a new socket. But only options that are actually supported on the native side will be converted to the matching configuration option. For example the JS query
option will be converted to the connectionParams
option in the native iOS framework.
Based on the socket.io-client-java on Android and socket.io-client.swift on iOS.
Open source contributions are greatly appreciated! If you have a bugfix, improvement or new feature, please create an issue first and submit a pull request against master.
If you have questions about the Socket.IO module for Titanium, feel free to reach out on Stackoverflow or the
#helpme
channel on TiSlack. In case you find a bug, create a new issue
or open a new JIRA ticket.
Apache License, Version 2.0