bad_socket 0.1.1

Add constrains to your Socket to simulate realworld network connections.

example/bad_socket_example.dart

import 'dart:io';

import 'package:bad_socket/bad_socket.dart';

Future<int> startLocalEchoServer() async {
  final server = await ServerSocket.bind('0.0.0.0', 0);
  server.listen((socket) {
    final badSocket = BadSocket.wrap(
      socket,
      writeLatency: 100,
      writeLoss: 0.2,
    );
    badSocket.listen((data) {
      print('Server send: $data');
      badSocket.add(data);
      badSocket.flush();
    });
  });
  return server.port;
}

main() async {
  final port = await startLocalEchoServer();

  final client = await Socket.connect('127.0.0.1', port);
  client.listen((data) {
    print('Client recv: $data');
  });

  while (true) {
    final data = 'hello world'.runes.toList();
    data.shuffle();
    await Future.delayed(Duration(seconds: 1));
    print('Client send: $data');
    client.add(data);
    await client.flush();
  }
}
0
likes
70
pub points
0%
popularity

Add constrains to your Socket to simulate realworld network connections.

Repository (GitHub)
View/report issues

Documentation

API reference

Uploader

xty50337@gmail.com

License

MIT (LICENSE)

More

Packages that depend on bad_socket