FLUTTER ECOSYSTEM

contributors-company/socket_io_adapter

contributors-company/socket_io_adapter open-source repository details.

socket_io_adapter 프로젝트 이미지
Stars
5
Forks
0
최근 푸시(UTC)
2024. 10. 11.
프로젝트 상태
활성
Contributors GitHub avatar
GITHUB Organization

Contributors ↗

Welcome to our Contributors!

Казахстан
언어DartSwiftKotlinObjective-C

기술 주제

사용 중인 의존성

의존성 목록 2 개

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

README 펼치기 / 접기

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!' } ]