socketToServer static method
Future<SocketConnector>
socketToServer({
- required InternetAddress socketAddress,
- required int socketPort,
- InternetAddress? serverAddress,
- int? receiverPort,
- bool? verbose,
Binds a Server socket on a specified InternetAddress Port on which to listen can be specified but if not given a spare port will be found by the OS. Then opens socket to specified Internet Address and port Finally relays data between sockets and optionaly displays contents using the verbose flag
Implementation
static Future<SocketConnector> socketToServer(
{required InternetAddress socketAddress,
required int socketPort,
InternetAddress? serverAddress,
int? receiverPort,
bool? verbose}) async {
InternetAddress receiverBindAddress;
receiverPort ??= 0;
verbose ??= false;
serverAddress ??= InternetAddress.anyIPv4;
receiverBindAddress = serverAddress;
SocketConnector socketStream = SocketConnector(null, null, 0, 0, null, null);
// connect socket server to an address and port
socketStream._socketA = await Socket.connect(socketAddress, socketPort);
// bind the socket server to an address and port
socketStream._serverSocketB = await ServerSocket.bind(receiverBindAddress, receiverPort);
// listen for sender connections to the server
_handleSingleConnection(socketStream._socketA!, true, socketStream, verbose);
// listen for receiver connections to the server
socketStream._serverSocketB?.listen((receiver) {
_handleSingleConnection(receiver, false, socketStream, verbose!);
});
return (socketStream);
}