raw_api_server 1.0.0 copy "raw_api_server: ^1.0.0" to clipboard
raw_api_server: ^1.0.0 copied to clipboard

outdated

A Dart package for small and simple socket-based APIs

example/raw_api_server_example.dart

import 'package:raw_api_server/model/api_endpoint.dart';
import 'package:raw_api_server/model/api_request.dart';
import 'package:raw_api_server/raw_api_client.dart';
import 'package:raw_api_server/raw_api_server.dart';

Future<void> main() async {
  var api = RawApiServer(
    port: 6543,
    endpoints: [
      ApiEndpoint(
        id: 0,
        onCall: (socket, args) {
          print('Endpoint: ${socket.remoteAddress.address}: args: ${String.fromCharCodes(args)}');
          socket.write('Loud and clear');
        }
      ),
    ],
    onConnect: (socket) {
      print('Server connected to ${socket.remoteAddress.address}:${socket.remotePort}');
    },
    onError: (socket, error) {
      print(error);
      socket.close();
    },
    onDone: (socket) {
      print('Server disconnected from ${socket.remoteAddress.address}:${socket.remotePort}');
    }
  );

  final client = RawApiClient(
    port: 6543,
    host: 'localhost',
    onConnect: (socket) {
      print('Client connected to ${socket.remoteAddress.address}:${socket.remotePort}');
    },
    onReceive: (socket, data) {
      print('Client received: ${String.fromCharCodes(data)}');
    },
    onError: (socket, error) {
      print(error);
      socket.destroy();
    },
    onDone: (socket) {
      print('Client disconnected from server');
    }
  );

  await api.start();
  await client.connect();
  await client.sendRequest(
    ApiRequest.fromUtf8(
      id: 0,
      stringArgs: 'Hello world'
    )
  );
  await Future.delayed(Duration(seconds: 1));
  client.disconnect();
  await api.stop();
}
0
likes
0
points
58
downloads

Publisher

verified publishertytydraco.xyz

Weekly Downloads

A Dart package for small and simple socket-based APIs

Repository

License

unknown (license)

Dependencies

collection, path

More

Packages that depend on raw_api_server