Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
 public void SetCallback(ThreadLauncher.OnPacket callback)
 {
     _launcher.SetCallback(callback);
 }