constructor() { super(); this.socket = io(HOST); this._app = feathers() .configure(socketio(this.socket)) .configure(hooks()) }
constructor() { this.socket = io(HOST); this._app = feathers() .configure(socketio(this.socket)) .configure(hooks()) .configure(authentication({ storage: localstorage })); }
chimes() { const socket = io.connect('http://chimes-us.teropa.info/chimes'); return Observable.create((observer) => { socket.on('chime', (chime) => observer.next(chime)); return () => socket.close(); }); }
return (dispatch, getState) => { dispatch({ type: 'CONNECTING' }); // const socket = io({ // path: '/api/socket.io' // }); const socket = io(); socket.on('connect', () => { let username = getState().user.username; if (username) { socket.emit('login', { username }, (resp: Protocol.Response) => { if (!resp.success) { dispatch({ type: 'LOGOUT' }); } else { dispatch({ type: 'CONNECTED', payload: socket }); } }); } else { dispatch({ type: 'CONNECTED', payload: socket }); } }); socket.on('disconnect', () => { dispatch({ type: 'DISCONNECTED' }); }); socket.on('canvas:history:new', (event: Protocol.NewHistoryEvent) => { dispatch({ type: 'CANVAS_HISTORY_NEW', payload: event.entry }); }); socket.on('canvas:user:join', (event: Protocol.UserEvent) => { dispatch({ type: 'CANVAS_USER_JOIN', payload: event.user }); }); socket.on('canvas:user:leave', (event: Protocol.UserEvent) => { dispatch({ type: 'CANVAS_USER_LEAVE', payload: event.user }); }); socket.on('canvas:user:update', (event: Protocol.UserEvent) => { dispatch({ type: 'CANVAS_USER_UPDATE', payload: event.user }); }); }
export function initSocket(context: Context) { const core = context.getMethodsOf<CoreSpec>('core'); if (!core.isDevServerOn()) { return; } socket = io(); socket.on(SERVER_MESSAGE_EVENT_NAME, handleServerMessage); socket.on(RENDERER_MESSAGE_EVENT_NAME, handleRendererMessage); return () => { if (socket) { socket.off(SERVER_MESSAGE_EVENT_NAME, handleServerMessage); socket.off(RENDERER_MESSAGE_EVENT_NAME, handleRendererMessage); socket = undefined; } }; function handleServerMessage(msg: Message) { context.emit('serverMessage', msg); } function handleRendererMessage(msg: Message) { context.emit('rendererResponse', msg); } }
tweets() { const socket = io.connect('http://tweets-us.teropa.info/tweets'); return Observable.create((observer) => { socket.on('tweet', (tweet) => observer.next(tweet)); return () => socket.close(); }); }
constructor(opts: { port?: number; namespace?: string } = {}) { this.port = opts.port; this.namespace = opts.namespace || 'admin'; if (!AppContext.isServer && !WsAdapter.io) { WsAdapter.io = connect( '/admin', { secure: true, reconnectionDelay: 10e3, reconnectionDelayMax: 60e3 }, ); WsAdapter.io.on('connect', () => { logger.log('[connect]', { id: WsAdapter.io.id, AppContext }); AppContext.dispatch(appActions.heartbeat()); }); WsAdapter.io.on('reconnect', () => { logger.log('[reconnect]', { id: WsAdapter.io.id, AppContext }); AppContext.dispatch(appActions.heartbeat()); }); WsAdapter.io.on('disconnect', () => { const { heartbeat } = AppContext.store.select(state => state.app); logger.error('[disconnect]', { id: WsAdapter.io.id, heartbeat }); if (heartbeat) { AppContext.dispatch(appActions.heartbeatStop()); } }); WsAdapter.io.on('error', error => { const { heartbeat } = AppContext.store.select(state => state.app); logger.error('[error]', { id: WsAdapter.io.id, heartbeat, error }); if (heartbeat) { AppContext.dispatch(appActions.heartbeatStop()); } }); } }
it(`should handle message (2 gateways)`, async () => { app = await createNestApp(ApplicationGateway, NamespaceGateway); await app.listenAsync(3000); ws = io.connect('http://localhost:8080'); io.connect('http://localhost:8080/test').emit('push', {}) ws.emit('push', { test: 'test', }); await new Promise(resolve => ws.on('pop', data => { expect(data.test).to.be.eql('test'); resolve(); }), ); });
constructor(http: Http, threadService: ThreadService) { this._io = io.connect(); this._http = http; this._threadService = threadService; this.messages = new Observable(observer => this._messagesObservers = observer).share(); this._dataStore = { messages: [] }; this._socketOn(); }
}).then((t: PushToken) => { this.socket = io.connect('http://'+SOCKET_LINK); this._storage.setToStorage('@device:token' , {token: t.token}) // alert('token:' + t.token) this.socket.emit('save-device' , {affiliate: resJson.result.affiliate , token: t.token , server:'AU'}) this._store.dispatch(this._userAction.addUserToStorage({key:resJson.result.key , user:resJson.result.user})) this._loader.loaded() this.navCtrl.setRoot(ShowMoreJobPage) });