Skip to content

A flutter , dart package for socket communication safely this package enables client to listen to difference event from server also can register new events to register to , need to configure this events from server to send data accordingly.

License

Notifications You must be signed in to change notification settings

shreyasSarve/socket_communication

Repository files navigation

Server Side

Start server at port 3000

final server = await ServerSocket.connect(ip: io.InternetAddress.anyIPv4, port: 3000);

  server.onConnection((Socket client) {
    handleClient(client);
    /// You can listen to event from this perticular client 
    /// using Socket method on
  });


Client Side

Connect to server hosted on localhost at port 3000

final Socket client = await ClientSocket.connect(host: "0.0.0.0", port: 3000);
handleServerConnection(client);

Add event listener pass on as an event

  final registered = client.on('message', (data) {
    //TODO: display message
  });

Listen to any event from server

client.listen((data){
    //TODO : 
})

data key , value pair => Map<String,dynamic>

Send data for event on

STEP 1 : Declare class & extend it with DTO

/// remember to exnted class from DTO for data transmission
/// there we will be transferring Message data over socket 

class Message extends DTO {
  String username;
  String message;

  Message({required this.username, required this.message});

  factory Message.fromJson(Map<String, dynamic> json) {
    return Message(username: json['username'], message: json['message']);
  }

  @override
  Map<String, dynamic> toJson() {
    return {"username": username, "message": message};
  }

/// in case you wish to encode data differently
/// then remember to decode data correspondingly
  @override
  String encode() {
    return json.encode(toJson());
  }
}

STEP 2 : Send corresponding message

client.send(
      'message',
      Message(
        username: username,
        message: 'Hi i am $username',
        ),
    );

About

A flutter , dart package for socket communication safely this package enables client to listen to difference event from server also can register new events to register to , need to configure this events from server to send data accordingly.

Resources

License

Stars

Watchers

Forks

Packages

No packages published