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(); }
private void Form1_FormClosing(object sender, FormClosingEventArgs e) { MessageBox.Show("连接已经关闭!!!", "", MessageBoxButtons.OK, MessageBoxIcon.Error); try { Closecon(); cli1.Close(); InternetStatus.Text = "断开"; } catch {} }
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; } } }
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); } }
/// <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(); } }
/// <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(); } } }
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); } }