private Connection(Socket socket, ThreadLauncher.OnPacket callback) { var threadLauncher = new ThreadLauncher(this, callback); byte[] buffer = new byte[1]; _socket = socket; _socket.BeginReceive(buffer, 0, 1, 0, AsyncReceiveCallback, new PacketData(true, buffer, _socket, threadLauncher)); }
public Connection(IPAddress target, int port, ThreadLauncher.OnPacket callback) { _launcher = new ThreadLauncher(this, callback); // Setup a TCP Connection byte[] buffer = new byte[1]; _socket = new Socket(target.AddressFamily, SocketType.Stream, ProtocolType.Tcp); _socket.Connect(new IPEndPoint(target, port)); _socket.BeginReceive(buffer, 0, 1, 0, AsyncReceiveCallback, new PacketData(true, buffer, _socket, _launcher)); }
public static Connection Listen(int port, ThreadLauncher.OnPacket callback) { var localEndPoint = new IPEndPoint(IPAddress.Any, port); var listener = new Socket(IPAddress.Any.AddressFamily, SocketType.Stream, ProtocolType.Tcp); Socket socket; // Setup the listener socket try { listener.Bind(localEndPoint); listener.Listen(100); // Accept the first connection socket = listener.Accept(); } finally { listener.Close(); } return(new Connection(socket, callback)); }
public void SetCallback(ThreadLauncher.OnPacket callback) { _launcher.SetCallback(callback); }