예제 #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (server_state == SERVER_STATE.NONE)
            {
                server_state   = SERVER_STATE.LISTENING;
                stop_listening = false;

                Initialize_Server((int)tcpPortNumeric.Value);

                if (listener == null)
                {
                    return;
                }
                Thread tcp = new Thread(new ThreadStart(StartListening));
                tcp.Start();

                udp_thread = new Thread(new ThreadStart(StartListeningIdentity));
                udp_thread.Start();

                SetText("Listening...");
                listeningLabel.ForeColor = Color.Red;
                listenBtn.Text           = "Stop Server";
            }
            else
            {
                Stop();
                server_state             = SERVER_STATE.NONE;
                listeningLabel.ForeColor = Color.Transparent;
                listenBtn.Text           = "Start Server";
            }
        }
        private void OnCancel()
        {
            switch (serverState)
            {
            case SERVER_STATE.HOST:
            {
                networkManager.StopHost();
                break;
            }

            case SERVER_STATE.CLIENT:
            {
                networkManager.StopHost();
                break;
            }

            case SERVER_STATE.SERVER:
            {
                networkManager.StopServer();
                break;
            }

            default:
            {
                DebugLog.Console("Something went wrong. Cancel button clicked with no server state.");
                break;
            }
            }
            ShowMainServerButtons();
            serverState = SERVER_STATE.NONE;
        }
        private void StartHost()
        {
            networkManager.StartHost();
            DebugLog.Console("Starting Host");
            cancelButton.Title = "Stop Host";

            HideMainServerButtons();
            serverState = SERVER_STATE.HOST;
        }
        private void StartServer()
        {
            networkManager.StartServer();
            DebugLog.Console("Starting Server");
            cancelButton.Title = "Stop Server";

            HideMainServerButtons();
            serverState = SERVER_STATE.SERVER;
        }
        private void StartClient()
        {
            networkManager.StartClient();
            DebugLog.Console("Starting Client");
            cancelButton.Title = "Stop Client";

            HideMainServerButtons();
            serverState = SERVER_STATE.CLIENT;
        }
예제 #6
0
파일: IoTServer.cs 프로젝트: x893/LoRaWAN
 public ServerState()
 {
     State           = SERVER_STATE.Initialize;
     LockPackets     = new object();
     LockPullResp    = new object();
     PullRespToken   = 0;
     PullRespPackets = new Dictionary <uint, GatewayPullResp>(100);
     Packets         = new Queue <GatewayPacket>(100);
     Gateways        = new Dictionary <ulong, GatewayState>(100);
     ResetEvent      = new ManualResetEvent(false);
 }
예제 #7
0
 public ServerStateEventArgs(SERVER_STATE state)
 {
     _state = state;
 }