socketToSocket static method

Future<SocketConnector> socketToSocket({
  1. required InternetAddress socketAddressA,
  2. required int socketPortA,
  3. required InternetAddress socketAddressB,
  4. required int socketPortB,
  5. bool? verbose,
})

Opens sockets specified Internet Addresses and ports Then relays data between sockets and optionaly displays contents using the verbose flag

Implementation

static Future<SocketConnector> socketToSocket(
    {required InternetAddress socketAddressA,
    required int socketPortA,
    required InternetAddress socketAddressB,
    required int socketPortB,
    bool? verbose}) async {
  verbose ??= false;

  SocketConnector socketStream = SocketConnector(null, null, 0, 0, null, null);

  // connect socket server to an address and port
  socketStream._socketA = await Socket.connect(socketAddressA, socketPortA);

  // connect socket server to an address and port
  socketStream._socketB = await Socket.connect(socketAddressB, socketPortB);

  // listen for sender connections to the server
  _handleSingleConnection(socketStream._socketA!, true, socketStream, verbose);
  // listen for receiver connections to the server
  _handleSingleConnection(socketStream._socketB!, false, socketStream, verbose);

  return (socketStream);
}