Code Monkey home page Code Monkey logo

socket_io_adapter's Introduction

Getting started

flutter pub add socket_io_adapter

And full installation of socket_io_client via the link

Usage

final socket = SocketIOAdapter.initializeOptions(SocketIOOptions(path: 'https://example.com:3000/'));
socket.checkResponse = (data) => data['status']['ok']; // this is method for checking response from server. You can use custom method for checking response
socket.connect();
socket.onAll({
    'disconnect': (data) => print('Disconnect'),
    'connect': (data) => print('Connect'),
    'error': (data) => print('Error'),
    'connect_error': (data) => print('Connect Error'),
    'your_event': (data) => print('Your Event'),
});
socket.on('connect', (data) => print('Connect 2'));

Emit

socket.emit('sendMessage', {'message' : 'hi'}).then((value) {
    this.value = value;
}).catchError((error) {
    print('Error: ${error}')
});

Interceptor for socket

class LoggerSocketInterceptor extends SocketInterceptor {
  @override
  SocketRequest onRequest(SocketRequest request) {
    print('On Request: ${[request.data, request.event]}');
    return super.onRequest(request);
  }

  @override
  SocketResponse onResponse(SocketResponse response) {
    print('On Response: ${response.data}');
    return super.onResponse(response);
  }

  @override
  void onError(error) {
    print(error);
    super.onError(error);
  }

  @override
  dynamic onEvent(event, data) {
    print('Event: ${[event, data]}');
    super.onEvent(event, data);
  }
}

print console log

On Request: [ 'sendMessage', {'message' : 'hi'} ]
On Response: { 'status': { 'ok': true }, 'data': { 'id': 'number', 'message': 'hi' } }
Event: [ 'reveiveMessage', { 'id': 'number', 'message': 'Hi!' } ]

socket_io_adapter's People

Contributors

alexhcjp avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.