Ejemplo n.º 1
0
        private void ClientClose(object sender, NetEventArgs e)
        {
            string info;

            if (e.Client.TypeOfExit == Session.ExitType.ExceptionExit)
            {
                info = string.Format("A Client Session:{0} Exception Closed.",
                                     e.Client.ID);
            }
            else
            {
                info = string.Format("A Client Session:{0} Normal Closed.",
                                     e.Client.ID);
            }
            UpdateUItoolStripButton(toolStripButtonStart, "Start Connect", Color.Red, Client.Properties.Resources.Red);
            UpdateUIToolStripTextBox(PortNo, true);
            UpdateUIToolStripTextBox(IPNo, true);
            UpdateUITextBox(SendData, true);
            UpdateUIButton(buttonSend, false);
            tc.Close();
            tc.Dispose();
            //Console.WriteLine(info);
            //Console.Write(">");
            rtbe1.SetText(info, true);
            //throw new NotImplementedException();
        }
Ejemplo n.º 2
0
 private void Form1_FormClosing(object sender, FormClosingEventArgs e)
 {
     MessageBox.Show("连接已经关闭!!!", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
     try
     {
         Closecon();
         cli1.Close();
         InternetStatus.Text = "断开";
     }
     catch
     {}
 }
Ejemplo n.º 3
0
    void OnGUI()
    {
        GUILayout.Label("Ping:" + m_rtt + ",Pos:" + m_game.m_ball.position + ",Vel:" + m_game.m_ball.rigidbody.velocity);
        GUILayout.Label(m_state.ToString());
        if (m_state == State.ST_Disconnected)
        {
            if (GUILayout.Button("Connect"))
            {
                //Security.PrefetchSocketPolicy("127.0.0.1", 5001);
                m_client.Connect("127.0.0.1", 5001);
            }
        }
        else
        {
            if (GUILayout.Button("Disconnect"))
            {
                m_client.Close();
                m_state = State.ST_Disconnected;
            }
            switch (m_state)
            {
            case State.ST_Connected:
                if (GUILayout.Button("Automatch"))
                {
                    //send automatch
                    CmdPacket packet = new CmdPacket();
                    packet.WriteUShort(Proto.C_AutoMatch);
                    send(packet);
                    m_state = State.ST_WaitingToMatch;
                }
                break;

            case State.ST_WaitingToMatch:
                if (GUILayout.Button("Cancel Match"))
                {
                    CmdPacket packet = new CmdPacket();
                    packet.WriteUShort(Proto.C_UAutoMatch);
                    send(packet);
                    m_state = State.ST_Connected;
                }
                break;

            case State.ST_GameInit:
            {
                if (GUILayout.Button("Ready"))
                {
                    CmdPacket packet = new CmdPacket();
                    packet.WriteUShort(Proto.C_GameReady);
                    send(packet);
                    m_state = State.ST_WaitingToStart;
                }
                break;
            }

            case State.ST_WaitingToStart:
            case State.ST_GameRunning:
                break;
            }
        }
    }
Ejemplo n.º 4
0
 private void Timer_Connect_Elapsed(object sender, ElapsedEventArgs e)
 {
     if (!cli.IsConnected)
     {
         try
         {
             cli.Connect(Service_IP, Service_Port);
             StatusMessage = "已连接";
         }
         catch (Exception)
         {
             StatusMessage = "连接远程服务器失败";
             cli.Close();
         }
     }
     else
     {
         string json = Newtonsoft.Json.JsonConvert.SerializeObject(This_clientConfig);
         cli.Send(json);
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// 文件或目錄變更時事件的方法
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private static void fswWatcher_Changed(object sender, FileSystemEventArgs e)
 {
     if (e.Name == "RDSConfig.xml")
     {
         LogHelper.WriteInfo("RDS配置文件RDSConfig.xml发生修改重新建立所有连接!");
         Loaddata();
         foreach (RDSConfigModel val in RDSClient.Values)
         {
             TcpCli tc = val.TcpClient;
             tc.Close();
             tc = null;
         }
         RDSClient.Clear();
         InitScoketClient();
     }
 }
Ejemplo n.º 6
0
        /// <summary>
        /// 构建连接
        /// </summary>
        private void MakeConnectWithListener()
        {
            cli = new TcpCli(new Coder(Coder.EncodingMothord.UTF8));

            //cli.Resovlver = new DatagramResolver("}");
            cli.ReceivedDatagram   += new NetEvent(RecvData);
            cli.DisConnectedServer += new NetEvent(ClientClose);
            cli.ConnectedServer    += new NetEvent(ClientConn);

            if (!cli.IsConnected) // 启动就连接
            {
                try
                {
                    cli.Connect(Service_IP, Service_Port);
                    StatusMessage = "已连接";
                }
                catch (Exception ex)
                {
                    StatusMessage = "连接远程服务器失败";
                    cli.Close();
                }
            }
        }
Ejemplo n.º 7
0
        private void toolStripButtonStart_Click(object sender, EventArgs e)
        {
            try
            {
                switch (toolStripButtonStart.Text)
                {
                case "Start Connect":
                    toolStripButtonStart.BackColor             = Color.Blue;
                    toolStripButtonStart.ImageTransparentColor = Color.Blue;
                    toolStripButtonStart.BackgroundImage       = Client.Properties.Resources.Blue;
                    toolStripButtonStart.Image = Client.Properties.Resources.Blue;
                    toolStripButtonStart.Text  = "DisConnect";
                    PortNo.Enabled             = false;
                    IPNo.Enabled = false;
                    tc           = new TcpCli(new Coder(Coder.EncodingMothord.UTF8));
                    //tc = new TcpCli(new Coder(Coder.EncodingMothord.HexString));
                    //tc.Resovlver = new DatagramResolver(Convert.ToChar(4).ToString());//EOT (end of transmission)
                    tc.ReceivedDatagram   += new NetEvent(RecvData);
                    tc.DisConnectedServer += new NetEvent(ClientClose);
                    tc.ConnectedServer    += new NetEvent(ClientConn);
                    tc.ExceptionMessage   += new NetEvent(ClienError);
                    tc.Connect(IPNo.Text, Convert.ToUInt16(PortNo.Text));
                    tc.HeadLength      = true;
                    buttonSend.Enabled = true;
                    SendData.Enabled   = true;
                    rtbe1.SetText(String.Format("Connect to [{0}]({1})", IPNo.Text, PortNo.Text), true);
                    break;

                case "DisConnect":
                    toolStripButtonStart.BackColor             = Color.Red;
                    toolStripButtonStart.ImageTransparentColor = Color.Red;
                    toolStripButtonStart.BackgroundImage       = Client.Properties.Resources.Red;
                    toolStripButtonStart.Image = Client.Properties.Resources.Red;
                    toolStripButtonStart.Text  = "Start Connect";
                    PortNo.Enabled             = true;
                    IPNo.Enabled       = true;
                    buttonSend.Enabled = false;
                    SendData.Enabled   = false;
                    tc.Close();
                    tc.Dispose();
                    rtbe1.SetText(String.Format("DisConnect to [{0}]({1})", IPNo.Text, PortNo.Text), true);
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                toolStripStatusLabel1.Text                 = ex.Message.ToString();
                toolStripButtonStart.BackColor             = Color.Red;
                toolStripButtonStart.ImageTransparentColor = Color.Red;
                toolStripButtonStart.BackgroundImage       = Client.Properties.Resources.Red;
                toolStripButtonStart.Image                 = Client.Properties.Resources.Red;
                toolStripButtonStart.Text = "Start Connect";
                PortNo.Enabled            = true;
                IPNo.Enabled       = true;
                buttonSend.Enabled = false;
                SendData.Enabled   = false;
                tc.Close();
                tc.Dispose();
                rtbe1.SetText(String.Format("DisConnect to [{0}]({1})", IPNo.Text, PortNo.Text), true);
            }
        }