Пример #1
0
        /// <summary>
        /// Moded method to also take an HTTP port
        /// </summary>
        /// <param name="callMe"></param>
        /// <param name="port"></param>
        public static void ServerAwaitingClientLoop(NetworkAction callMe, int port)
        {
            lstn = new TcpListener(IPAddress.Any, Networking.HTTP_PORT);

            lstn.Start();

            NewConnectionState cs = new NewConnectionState(lstn, callMe);

            cs.listener = lstn;

            cs.callMe = callMe;

            lstn.BeginAcceptSocket(AcceptNewClient, cs);
        }
Пример #2
0
        private static void ConnectionRequested(IAsyncResult ar)
        {
            NewConnectionState cs = (NewConnectionState)ar.AsyncState;

            Socket socket = cs.Listener.EndAcceptSocket(ar);

            //Will have to change this ID to the client specific ID in server
            SocketState ss = new SocketState(socket, 0);

            ss.theSocket = socket;
            ss.callBack  = cs.callBack;

            //??? isn't this redundant
            ss.callBack(ss);

            cs.Listener.BeginAcceptSocket(ConnectionRequested, cs);
        }
Пример #3
0
        public static void AcceptNewClient(IAsyncResult ar)
        {
            NewConnectionState cs = (NewConnectionState)ar.AsyncState;

            socket = cs.listener.EndAcceptSocket(ar);

            SocketState ss = new SocketState(socket, AssignID());

            ss.theSocket = socket;

            ss.callMe = cs.callMe;

            ss.callMe(ss);

            Console.WriteLine("Connection Made!");

            cs.listener.BeginAcceptSocket(AcceptNewClient, cs);
        }
Пример #4
0
        public static void StartServer(Action <SocketState> call)
        {
            //byte[] byteip = Encoding.ASCII.GetBytes(Dns.GetHostName());

            /* IPAddress localaddr = GetLocalIPAddress();
             *
             * Console.WriteLine("Local address is " + localaddr.ToString());
             *
             * TcpListener listener = new TcpListener(localaddr, DEFAULT_PORT);
             */
            TcpListener listener = new TcpListener(DEFAULT_PORT);


            listener.Start();

            NewConnectionState cs = new NewConnectionState();

            cs.Listener = listener;
            cs.callBack = call;

            Console.WriteLine("Listening...");

            listener.BeginAcceptSocket(new AsyncCallback(ConnectionRequested), cs);
        }