client_server_lan 0.0.2 copy "client_server_lan: ^0.0.2" to clipboard
client_server_lan: ^0.0.2 copied to clipboard

outdated

A simple to use LAN communication package. A Server and a Client can be setup. Then the server broadcasts itself and connects to any listening clients. Data can then be transferred between each. The s [...]

client_server_lan #

A LAN communication Flutter package based off Node Commander but removing parts such as Commander Nodes and making communication between client and server two way.

Usage #

Run a Node #

Start a Server Node

import 'dart:async';
import 'package:wifi/wifi.dart';
import 'package:client_server_lan/client_server_lan.dart';
void startServer() async {
    String ip = await Wifi.ip;
    server = ServerNode(
      name: "Server name",
      verbose: true,
      host: ip,
      port: 8085,
    );
    await server.init();
    await server.onReady;
    setState(() {
      serverStatus = "Server ready on ${server.host}:${server.port}";
    });
    server.dataResponse.listen((dynamic data) {
      setState(() {
        dataRecieved = data.toString();
      });
    });
}

Start a Client Node

void startClient() async {
    String ip = await Wifi.ip;
    client = ClientNode(
      name: "Client Name",
      verbose: true,
      host: ip,
      port: 8085,
    );
    await client.init();
    await client.onReady;
    setState(() {
      clientStatus = "Client ready on ${client.host}:${client.port}";
    });
    client.dataResponse.listen((dynamic data) {
      setState(() {
        dataRecieved = data.toString();
      });
    });
}

Server scan for Clients

void findClients() async {
    server.discoverNodes();
    await Future<dynamic>.delayed(const Duration(seconds: 2));
    clientIPs = "";
    for (final s in server.clientsConnected) {
      setState(() {
        clientIPs += "id=${s.name},IP=${s.address}\n";
      });
    }
}

Transfer Data #

Transfer from Client to Server

void clientToServer() async {
    await client.sendData(dataToSend, client.serverDetails.address);
}

Transfer from Server to Client

void serverToClient(String clientName) async {
    final String client = server.clientUri(clientName);
    await server.sendData(dataToSend, client);    
}
18
likes
0
pub points
0%
popularity

Publisher

unverified uploader

A simple to use LAN communication package. A Server and a Client can be setup. Then the server broadcasts itself and connects to any listening clients. Data can then be transferred between each. The server and client can then disconnect when ready.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

dio, emodebug, err, extra_pedantic, isohttpd, meta, pedantic, prompts, uuid

More

Packages that depend on client_server_lan