private void Bt_Start_Click(object sender, EventArgs e)
        {
            RefreshCmbChooseEquip();

            /*
             * foreach(KeyValuePair<string,DTSEquip> kvp in Equips)
             * {
             *  for(int i=0;i<kvp.Value.channelInfo.Count;i++)
             *  {
             *      kvp.Value.channelInfo[i].SlaveNum = (ushort)(kvp.Value.SlaveNum + kvp.Value.channelInfo[i].ChannelNum);
             *  }
             * }
             */
            ServerIP = cmb_ServerIP.SelectedItem.ToString();
            if (Bt_Start.Text == "启 动")
            {
                ServerStart.Create().Start();
                Bt_Start.Text = "停 止";
            }
            else
            {
                ServerStart.Create().ServerStop();
                Bt_Start.Text = "启 动";
            }
        }
 private void Main_FormClosed(object sender, FormClosedEventArgs e)
 {
     if (Bt_Start.Text == "停 止")
     {
         ServerStart.Create().ServerStop();
     }
 }
Exemple #3
0
        static void Main(string[] args)
        {
            //服务器初始化
            ServerStart ss = new ServerStart(8000);

            ss.encode = MessageEncoding.Encode;
            ss.decode = MessageEncoding.Decode;
            ss.LE     = LengthEncoding.Encode;
            ss.LD     = LengthEncoding.Decode;
            ss.center = new HandlerCenter();
            ss.Start(6650);
            Console.WriteLine("服务器启动成功");
            while (true)
            {
            }


            ////同步接受和发送操作
            //Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            //server.Bind(new IPEndPoint(IPAddress.Any, 123));
            ////置于监听状态
            //server.Listen(10);
            //Socket client = server.Accept();
            //byte[] buff = new byte[1024];
            //client.Receive(buff);
            //client.Send(buff);
        }
 public static void LoadMenu(int menuNumber)
 {
     using (Packet _packet = new Packet((int)ServerPackets.LoadMenu))
     {
         if (menuNumber == 2)
         {
             UIManager.instance.LoadMenu(2);
             foreach (ServerClient client in Server.clients.Values)
             {
                 if (client.connected)
                 {
                     client.SetCharacter();
                 }
             }
             foreach (ServerClient client in Server.clients.Values)
             {
                 if (client.connected)
                 {
                     client.SendIntoGame();
                 }
             }
             ServerStart.SpawnItem();
             ScoreboardSetUp();
         }
         Server.joinable = false;
         _packet.Write(menuNumber);
         SendTCPDataToAll(_packet);
         UpdatePlayerCount();
     }
 }
Exemple #5
0
        static void Main(string[] args)
        {
            ServerStart server = new ServerStart(1000);

            server.center = new HandlerCenter();
            server.Start(8080);
            Console.ReadKey();
        }
Exemple #6
0
 private void OnServerStart()
 {
     if (ServerStart != null)
     {
         var delegates = ServerStart.GetInvocationList();
         for (int i = 0; i < delegates.Length; i++)
         {
             ((EventHandler)delegates[i]).BeginInvoke(this, new EventArgs(), null, null);
         }
     }
 }
 private void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
     else if (instance != this)
     {
         Debug.Log("Instance already exists, destroying object!");
         Destroy(this);
     }
 }
Exemple #8
0
 private void Bt_Start_Click(object sender, EventArgs e)
 {                   
     RefreshCmbChooseEquip();
     if (Bt_Start.Text == "启 动")
     {   
         ServerStart.Create().Start();               
         Bt_Start.Text = "停 止";                
     }
     else
     {      
         ServerStart.Create().ServerStop();
         Bt_Start.Text = "启 动";                                   
     }
 }
Exemple #9
0
        public void Start()
        {
            try
            {
                OpenHost <IDataAccessContract, DataAccessService>();
                OpenHost <ISqlProviderContract, SqlDataService>();
                OpenHost <IAuthorizationContract, AuthorizationService>();

                ServerStart?.Invoke();
            }
            catch (Exception ex)
            {
            }
        }
Exemple #10
0
 public void Start()
 {
     try
     {
         _tcpListener.Start();
         ServerStart?.Invoke(null, _tcpListener);
         new Thread(Listen).Start();
     }
     catch (SocketException e)
     {
         RemoveServer();
         Error?.Invoke(e, "Порт занят!");
     }
 }
Exemple #11
0
        public static void Main(string[] args)
        {
            Console.WriteLine(Define.ServerName + "............");
            ServerStart ss = new ServerStart(9000);

            ss.center = new Center();
            ss.LD     = LengthEncoding.Decode;
            ss.LE     = LengthEncoding.Encode;
            ss.Start(6650);
            Console.WriteLine("服务器启动成功");
            while (true)
            {
            }
        }
Exemple #12
0
        static void Main(string[] args)
        {
            ServerStart ss = new ServerStart(9000);

            ss.lengthEncode = LengthEncoding.encode;
            ss.msgEncode    = MessageEncoding.Encode;
            ss.center       = new HandlerCenter();
            ss.lengthDecode = LengthEncoding.decode;
            ss.msgDecode    = MessageEncoding.Decode;
            ss.Start(6500);
            Console.WriteLine("服务器启动>>>>");
            while (true)
            {
            }
        }
Exemple #13
0
        public void StartListening()
        {
            try
            {
                ServerStart?.Invoke(this, new EventArgs());
                TcpClient client = _server.AcceptTcpClient();

                Thread t = new Thread(new ParameterizedThreadStart(HandleMessage));
                t.Start(client);
            }
            catch (Exception ex)
            {
                _server.Stop();
            }
        }
Exemple #14
0
        static void Main(string[] args)
        {
            ServerStart serverStart = new ServerStart(10);

            serverStart.LD     = LengthEncoding.decode;
            serverStart.LE     = LengthEncoding.encode;
            serverStart.encode = MessageEncoding.encode;
            serverStart.decode = MessageEncoding.decode;
            serverStart.center = new HandlerCenter();
            serverStart.Start(6650);
            Console.WriteLine("服务器已启动");
            while (true)
            {
            }
        }
Exemple #15
0
        private void CheckBoxEnable_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox checkbox = sender as CheckBox;

            if (checkbox != null)
            {
                if (checkbox.Checked)
                {
                    ServerStart?.Invoke();
                }
                else
                {
                    ServerStop?.Invoke();
                }
            }
        }
Exemple #16
0
        static void Main(string[] args)
        {
            //服务器初始化
            ServerStart serverStart = new ServerStart(9000);

            serverStart.messageEncode = MessageEncoding.MessageEncode;
            serverStart.messageDecode = MessageEncoding.MessageDecode;
            serverStart.lengthEncode  = LengthEncoding.Encode;
            serverStart.lengthDecode  = LengthEncoding.Decode;
            serverStart.center        = new HandlerCenter();
            serverStart.Start(6650);
            Console.WriteLine("服务器连接成功");
            while (true)
            {
            }
        }
Exemple #17
0
        static void Main(string[] args)
        {
            //服务器初始化
            ServerStart ss = new ServerStart(9000);

            ss.encode       = MessageEncoding.encode;
            ss.socketHander = new HandlerCenter();
            ss.decode       = MessageEncoding.decode;
            ss.LD           = LengthEncoding.decode;
            ss.LE           = LengthEncoding.encode;
            ss.Start(6650);
            Console.WriteLine("服务器启动成功");
            while (true)
            {
            }
        }
Exemple #18
0
        static void Main(string[] args)
        {
            //服务器初始化
            ServerStart server = new ServerStart(20);

            //赋值长度、数据、编码和解码、消息中心赋值
            server.encode = MessageEncoding.encode;
            server.decode = MessageEncoding.decode;
            server.LE     = LengthEncoding.encode;
            server.LD     = LengthEncoding.decode;
            server.center = new HandlerCenter();
            //开启端口
            server.start(globalInfo.port);
            while (true)
            {
            }
        }
Exemple #19
0
        static void Main(string[] args)
        {
            //Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            //server.Bind(new IPEndPoint(IPAddress.Any, port));

            //// 置于监听状态
            //server.Listen(10);
            //Socket client = server.Accept();
            //byte[] buff = new byte[1024];
            //client.Receive(buff);
            //client.Send(buff);

            // 服务器初始化
            ServerStart ss = new ServerStart(9000);

            ss.Start(6666);
        }
Exemple #20
0
        public static void NetFrameStart()
        {
            //服务器初始化
            ServerStart ss = new ServerStart(9000);

            ss.Encode = MessageEncoding.Encode;
            ss.Decode = MessageEncoding.Decode;
            ss.Center = new HandlerCenter();
            ss.LD     = LengthEncoding.Decode;
            ss.LE     = LengthEncoding.Encode;
            ss.Start(6666);
            SerializeUtil.IsPBOrJson = false;
            UserToken.IsUdp          = false;
            Console.WriteLine("TCP服务器启动成功");
            while (true)
            {
            }
        }
Exemple #21
0
        static void Main(string[] args)
        {
            ServerStart serverStart = new ServerStart(10);

            serverStart.LD     = LengthEncoding.decode;
            serverStart.LE     = LengthEncoding.encode;
            serverStart.encode = MessageEncoding.encode;
            serverStart.decode = MessageEncoding.decode;
            serverStart.center = new HandlerCenter();
            serverStart.Start(6650);
            Console.WriteLine("服务器已启动");
            Console.WriteLine("hello");
            SkillInitialProperty     skillInitialProperty     = new SkillInitialProperty();     //初始化技能列表
            InventoryInItialProperty inventoryInItialProperty = new InventoryInItialProperty(); //初始化物品列表

            while (true)
            {
            }
        }
Exemple #22
0
        static void Main(string[] args)
        {
            //初始话服务器资源配置
            ConfigXmlFileRead.ReadGameFilePath(currentGameToLoadFilePath, allGameResourse);
            ServerStart serverStart = new ServerStart(60);

            serverStart.center = new HandlerCenter();
            serverStart.Start(3389);
            Console.WriteLine("服务器已启动");
            MysqlConnection mysqlConnection = new MysqlConnection();

            Console.WriteLine(mysqlConnection.MysqlInfo());
            DataView dataView = mysqlConnection.MysqlDataAdapter("User");

            //Console.WriteLine( dataView.Table.;
            while (true)
            {
                Console.ReadLine();
            }
        }
Exemple #23
0
        /// <summary>
        /// 接收客户端发送的消息
        /// </summary>
        /// <param name="newSocket"></param>
        void Receive(Socket newSocket)
        {
            int             oldadd    = 0;
            int             newadd    = 0;
            RegistData      rd        = null;
            ChannelTempInfo ci        = new ChannelTempInfo();
            int             SerialNum = -1; //流水号
            List <byte>     response  = new List <byte>();

            while (newSocket != null && newSocket.Connected)
            {
                try
                {
                    byte[] requetData = new byte[12];                                //Map报文头+字节数
                    requetData = SocketRead(newSocket, requetData.Length);
                    ushort slavenum         = requetData[6];                         //站号
                    var    address          = requetData[8] * 256 + requetData[9];   //寄存器地址
                    var    registercout     = requetData[10] * 256 + requetData[11]; //寄存器个数
                    byte[] responseDataHead = new byte[9];
                    Buffer.BlockCopy(requetData, 0, responseDataHead, 0, 8);
                    responseDataHead[5] = (byte)(3 + registercout * 2);
                    responseDataHead[8] = (byte)(registercout * 2);
                    switch (requetData[7])   //功能码
                    {
                    //读保持寄存器
                    case 3:
                    {
                        if (ServerStart.Create().DTS.Keys.Contains(this.equipnum))
                        {
                            int equipslavenum = ServerStart.Create().DTS[this.equipnum].SlaveNum;
                            int channelnum    = Math.Abs(slavenum - equipslavenum);
                            if (BitConverter.ToUInt16(requetData, 0) != SerialNum)
                            {
                                response.Clear();
                                object data = ServerStart.Create().DTS[this.equipnum].dataMange.PopData(this.equipnum, slavenum);
                                if (channelnum == 0)
                                {
                                    //设备基本信息
                                }
                                else
                                {
                                    if (data != null)
                                    {
                                        byte[] responseData1 = EquipChannelTempInfo.ProtocolConvert((ChannelTempInfo)data);
                                        response.AddRange(responseData1);

                                        /* byte[] holdregisterdata = new byte[9 + registercout * 2];
                                         * Buffer.BlockCopy(responseDataHead, 0, holdregisterdata, 0, 8);
                                         * Buffer.BlockCopy(response.ToArray(), address * 2, holdregisterdata, 9, registercout * 2);
                                         * newSocket.Send(holdregisterdata);
                                         */

                                        if (this.equipnum == Main.oldEquipNum)
                                        {
                                            ci = (ChannelTempInfo)data;
                                            Main.channelCurvers[ci.ChannelNum.ToString()].DrawSendData(ci);
                                            Main.ObjRefreshZed(ci.ChannelNum.ToString());
                                            //  Thread.Sleep(1000);
                                        }
                                    }
                                }
                                SerialNum = BitConverter.ToUInt16(requetData, 0);
                            }

                            if (response.Count > 0)
                            {
                                byte[] holdregisterdata = new byte[9 + registercout * 2];
                                Buffer.BlockCopy(responseDataHead, 0, holdregisterdata, 0, 9);
                                Buffer.BlockCopy(response.ToArray(), address * 2, holdregisterdata, 9, registercout * 2);
                                newSocket.Send(holdregisterdata);

                                System.Text.StringBuilder builder = new System.Text.StringBuilder();
                                for (int i = 0; i < requetData.Length; i++)
                                {
                                    builder.Append(string.Format("{0:X2} ", requetData[i]));
                                }
                                Debug.WriteLine("接收:" + builder.ToString());
                                builder.Clear();

                                for (int i = 0; i < holdregisterdata.Length; i++)
                                {
                                    builder.Append(string.Format("{0:X2} ", holdregisterdata[i]));
                                }
                                Debug.WriteLine("发送:" + builder.ToString());
                            }
                        }
                    }
                    break;

                    //读输入寄存器
                    case 4:
                    {
                        /*
                         * //当前位置到最后的长度
                         * responseData1[4] = (byte)((3 + registercout * 2) / 256);
                         * responseData1[5] = (byte)((3 + registercout * 2) % 256);
                         * byte[] responseData2 = new byte[1 + registercout * 2];
                         * responseData2[0] = (byte)(registercout * 2);
                         * for (int i = 1; i < responseData2.Length; i++)
                         *  responseData2[i] = 0xff;
                         * if (address >= 0 && address < 65536)
                         * {
                         *  newadd = address;
                         *  rd = ServerStart.Create().PosRegistdata(equipnum, slavenum.ToString());
                         *  if (rd != null)
                         *  {
                         *      byte[] byteArray = rd.inputRegistData;
                         *
                         *      if (address * 2 < byteArray.Length)
                         *      {
                         *          if ((address + registercout) * 2 <= byteArray.Length)
                         *          {
                         *              Buffer.BlockCopy(byteArray, address * 2, responseData2, 1, registercout * 2);
                         *          }
                         *          else
                         *          {
                         *              int len = ((address + registercout) * 2) - byteArray.Length;
                         *              byte[] b = new byte[len];
                         *              for (int i = 0; i < len; i++)
                         *                  b[i] = 0xff;
                         *
                         *              byte[] temp = byteArray.Concat(b).ToArray();
                         *              Buffer.BlockCopy(temp, address * 2, responseData2, 1, registercout * 2);
                         *          }
                         *          var responseData = responseData1.Concat(responseData2).ToArray();
                         *          newSocket.Send(responseData);
                         *
                         *          oldadd = address;
                         *
                         *      }
                         *  }
                         * }
                         */
                    }
                    break;
                    }
                }
                catch (Exception ex)
                {
                    connectsuccessflag = false;
                    if (newSocket?.Connected ?? false)
                    {
                        newSocket?.Shutdown(SocketShutdown.Both);
                    }
                    newSocket?.Close();
                }
            }
        }
 void Start()
 {
     server = GameObject.Find("Server").GetComponent <ServerStart>();
 }
Exemple #25
0
 private void InvokeServerStartEvent()
 {
     ServerStart?.Invoke(this, EventArgs.Empty);
 }
Exemple #26
0
 public static void RegisterEvent(ServerStart d)
 {
     serverStarts.Add(d);
 }
Exemple #27
0
        /// <summary>
        /// 接收客户端发送的消息
        /// </summary>
        /// <param name="newSocket"></param>
        void Receive(Socket newSocket)
        {
            int        oldadd = 0;
            int        newadd = 0;
            RegistData rd     = null;

            while (newSocket != null && newSocket.Connected)
            {
                try
                {
                    byte[] requetData1 = new byte[8];                                 //Map报文头+功能码
                    requetData1 = SocketRead(newSocket, requetData1.Length);
                    byte[] requetData2 = new byte[requetData1[5] - 2];                //数据
                    requetData2 = SocketRead(newSocket, requetData2.Length);
                    var    requetData    = requetData1.Concat(requetData2).ToArray(); //完整的数据请求报文
                    byte[] responseData1 = new byte[8];
                    Buffer.BlockCopy(requetData, 0, responseData1, 0, responseData1.Length);
                    string stationNumberKey = string.Format("{0}", requetData[6]);   //站号
                    var    address          = requetData[8] * 256 + requetData[9];   //寄存器地址
                    var    registerLenght   = requetData[10] * 256 + requetData[11]; //寄存器的长度
                    switch (requetData[7])                                           //功能码
                    {
                    //读保持寄存器
                    case 3:
                    {
                        /*
                         * //当前位置到最后的长度
                         * responseData1[4] = (byte)((3 + registerLenght * 2) / 256);
                         * responseData1[5] = (byte)((3 + registerLenght * 2) % 256);
                         * byte[] responseData2 = new byte[1 + registerLenght * 2];
                         * responseData2[0] = (byte)(registerLenght * 2);
                         * for (int i = 1; i < responseData2.Length; i++)
                         *  responseData2[i] = 0xff;
                         * if (address >= 0 && address < 6000)
                         * {
                         *  RegistData rd = RegistDatas.Create().PosRegistdata(stationNumberKey);
                         *  if (rd != null)
                         *  {
                         *      byte[] byteArray = rd.holdRegistData;
                         *      Buffer.BlockCopy(byteArray, address * 2, responseData2, 1, registerLenght * 2);
                         *
                         *      var responseData = responseData1.Concat(responseData2).ToArray();
                         *      newSocket.Send(responseData);
                         *  }
                         * }
                         */
                    }
                    break;

                    //读输入寄存器
                    case 4:
                    {
                        //当前位置到最后的长度
                        responseData1[4] = (byte)((3 + registerLenght * 2) / 256);
                        responseData1[5] = (byte)((3 + registerLenght * 2) % 256);
                        byte[] responseData2 = new byte[1 + registerLenght * 2];
                        responseData2[0] = (byte)(registerLenght * 2);
                        for (int i = 1; i < responseData2.Length; i++)
                        {
                            responseData2[i] = 0xff;
                        }
                        if (address >= 0 && address < 65536)
                        {
                            newadd = address;
                            rd     = ServerStart.Create().PosRegistdata(equipnum, stationNumberKey);
                            if (rd != null)
                            {
                                byte[] byteArray = rd.inputRegistData;

                                if (address * 2 < byteArray.Length)
                                {
                                    if ((address + registerLenght) * 2 <= byteArray.Length)
                                    {
                                        Buffer.BlockCopy(byteArray, address * 2, responseData2, 1, registerLenght * 2);
                                    }
                                    else
                                    {
                                        int    len = ((address + registerLenght) * 2) - byteArray.Length;
                                        byte[] b   = new byte[len];
                                        for (int i = 0; i < len; i++)
                                        {
                                            b[i] = 0xff;
                                        }

                                        byte[] temp = byteArray.Concat(b).ToArray();
                                        Buffer.BlockCopy(temp, address * 2, responseData2, 1, registerLenght * 2);
                                    }
                                    var responseData = responseData1.Concat(responseData2).ToArray();
                                    newSocket.Send(responseData);

                                    oldadd = address;
                                }
                            }
                        }
                    }
                    break;
                    }
                }
                catch (Exception ex)
                {
                    connectsuccessflag = false;
                    if (newSocket?.Connected ?? false)
                    {
                        newSocket?.Shutdown(SocketShutdown.Both);
                    }
                    newSocket?.Close();
                }
            }
        }
Exemple #28
0
 public static void RegisterEvent(ServerStart d)
 {
     serverStarts.Add(d);
 }
 public static void OnServerStart(ServerStartEventArgs args)
 {
     ServerStart?.Invoke(args);
 }
Exemple #30
0
        static void Main(string[] args)
        {
            ServerStart ss = new ServerStart(9000);

            ss.Start(6666);
        }