Exemple #1
0
        /// <summary>
        /// 切断コマンド送信後イベント
        /// </summary>
        /// <param name="sender">sender</param>
        /// <param name="e">e</param>
        private void evDisconnected(object sender, EventArgs e)
        {
            m_StopRequest.Set();
            m_CommunicationThread.Join(10000);
            m_StopRequest.Dispose();
            m_CommunicationThread = null;
            m_StopRequest         = null;

            m_TcpClient = null;
            m_Address   = null;
            changeConnectButtonText("接続");
            changeStateLabel("接続していません。");
            changeInputFieldEnable(true);
            changeConnectButtonEnable(true);
        }
Exemple #2
0
        /// <summary>
        /// 接続ボタンクリック
        /// </summary>
        /// <param name="sender">sender</param>
        /// <param name="e">e</param>
        private void btnConnection_Click(object sender, EventArgs e)
        {
            if (m_TcpClient == null)
            {
                string ip   = txtIp1.Text + "." + txtIp2.Text + "." + txtIp3.Text + "." + txtIp4.Text;
                int    port = int.Parse(txtPort.Text);
                m_Address   = new SocketInfomation(ip, port);
                m_TcpClient = new TcpClient();
                changeConnectButtonText("中止");
                changeStateLabel("接続中...");
                changeInputFieldEnable(false);
                m_StopRequest         = new ManualResetEvent(false);
                m_CommunicationThread = new Thread(new ThreadStart(communicationThread));
                m_CommunicationThread.Start();
            }
            else if (m_TcpClient.Connected == false)
            {
                m_StopRequest.Set();
                m_CommunicationThread.Join(10000);
                m_StopRequest.Dispose();
                m_CommunicationThread = null;
                m_StopRequest         = null;

                m_TcpClient = null;
                m_Address   = null;
                changeConnectButtonText("接続");
                changeStateLabel("接続していません。");
                changeInputFieldEnable(true);
            }
            else
            {
                changeConnectButtonEnable(false);
                changeStateLabel("切断中");
                DisconnectCommand command = new DisconnectCommand();
                command.OnAnalyzed += evDisconnected;
                m_RequestQueue.Enqueue(command);
            }
        }