Exemplo n.º 1
0
        private void start_Click(object sender, RoutedEventArgs e)
        {
            serverData s = (serverData)listView.SelectedItem;

            if (s == null)
            {
                System.Windows.Forms.MessageBox.Show("请先选中服务器", "提示");
            }
            else
            {
                mConfig = s.config;
                Thread ovThread = new Thread(startOpenVpn);
                ovThread.Start();
            }
        }
        /// <summary>
        /// Get the server port.
        /// </summary>
        /// <param name="server"></param>
        private void HandleServerComm(object server)
        {
            TcpClient tcpClient = (TcpClient)server;
            NetworkStream clientStream = tcpClient.GetStream();

            Logger.ShowMessage(String.Format("Waiting for data."));

            byte[] message = new byte[4096];
            int bytesRead;

            while (true)
            {
                bytesRead = 0;

                try
                {
                    // Blocks until client sends a message
                    bytesRead = clientStream.Read(message, 0, 4096);
                }
                catch
                {
                    // Socket error occurred
                    Logger.ShowMessage("Could not read data from the server.", LogType.ERROR);
                    break;
                }

                Opcode opcode = new Opcode();

                // Set the opcode + the data
                opcode.opcode = (ClientMessage)message[0];
                opcode.data = message.Where(b => b != message[0]).ToArray();

                // Pack the byte array
                byte[] data = new byte[bytesRead];
                Buffer.BlockCopy(opcode.data, 0, data, 0, bytesRead);

                // DEBUG
                string showBitStream = "";
                foreach (byte receivedByte in data)
                {
                    showBitStream += Convert.ToString(receivedByte, 2).PadLeft(8, '0');
                }
                Logger.ShowMessage(showBitStream);
                // DEBUG.END

                ASCIIEncoding encoding = new ASCIIEncoding();

                //packet = SENDER|MESSAGE
                int port = int.Parse(encoding.GetString(opcode.data));

                // Add the client to our list.
                serverData serverStruct = new serverData
                {
                    Server = (TcpClient)server,
                    ServerPort = port,
                    ClientsConnected = 0
                };

                Servers.Add(serverStruct);

                Logger.ShowMessage(String.Format("Server connected on {0}:{1}", ((IPEndPoint)tcpClient.Client.RemoteEndPoint).Address, port));
            }
        }
        private void sendServerIp(TcpClient client, serverData server)
        {
            String serverIp = ((IPEndPoint)server.Server.Client.RemoteEndPoint).Address.ToString();
            int serverPort = server.ServerPort;

            // Send Packet back with the server ip.
            // create the packet that will be send
            ASCIIEncoding encoder = new ASCIIEncoding();
            byte[] data = encoder.GetBytes(String.Format("{0}|{1}", serverIp, serverPort));

            PacketHandler.sendPacket(client, ClientMessage.SMSG_SERVERIP, data);
            Logger.ShowMessage(String.Format("Sended server ip: {0}:{1} to the client with opcode SMSG_SERVERIP", serverIp, serverPort));
        }
Exemplo n.º 4
0
    private void Start()
    {
        this.uid              = base.transform.FindChild("uid").GetComponent <InputField>();
        this.tkn              = base.transform.FindChild("tkn").GetComponent <InputField>();
        this.bt               = base.transform.FindChild("bt").GetComponent <Button>();
        this.serverInfo       = base.transform.FindChild("serverPanel").gameObject;
        this.servers          = base.transform.FindChild("serverPanel/servers");
        this.btn_serverSelect = base.transform.FindChild("serverInfo/btn_selectServer").GetComponent <Button>();
        this.textServer       = base.transform.FindChild("serverInfo/txt_server").GetComponent <Text>();
        this.tg               = base.transform.FindChild("s").GetComponent <ToggleGroup>();
        this.bt.onClick.AddListener(new UnityAction(this.onCLick));
        this.btn_serverSelect.onClick.AddListener(new UnityAction(this.onServerSlectClick));
        this.zhanghao = base.transform.FindChild("idbtn").GetComponent <Button>();
        this.zhanghao.onClick.AddListener(new UnityAction(this.onZhanghao));
        this.serverList = new List <serverData>();
        serverData serverData = new serverData();

        serverData.ip   = "10.1.8.76";
        serverData.port = 64999u;
        serverData.sid  = 1u;
        serverData.clnt = 0u;
        this.serverList.Add(serverData);
        serverData      = new serverData();
        serverData.ip   = "10.1.8.76";
        serverData.port = 63999u;
        serverData.sid  = 2u;
        serverData.clnt = 0u;
        this.serverList.Add(serverData);
        serverData      = new serverData();
        serverData.ip   = "10.1.8.76";
        serverData.port = 62999u;
        serverData.sid  = 3u;
        serverData.clnt = 0u;
        this.serverList.Add(serverData);
        serverData      = new serverData();
        serverData.ip   = "10.1.8.76";
        serverData.port = 61999u;
        serverData.sid  = 4u;
        serverData.clnt = 0u;
        this.serverList.Add(serverData);
        serverData      = new serverData();
        serverData.ip   = "120.132.13.141";
        serverData.port = 63999u;
        serverData.sid  = 1u;
        serverData.clnt = 0u;
        this.serverList.Add(serverData);
        serverData      = new serverData();
        serverData.ip   = "10.1.6.181";
        serverData.port = 54999u;
        serverData.sid  = 1u;
        serverData.clnt = 0u;
        this.serverList.Add(serverData);
        serverData      = new serverData();
        serverData.ip   = "a3.test.utogame.com";
        serverData.port = 65019u;
        serverData.sid  = 1u;
        serverData.clnt = 0u;
        this.serverList.Add(serverData);
        serverData      = new serverData();
        serverData.ip   = "10.1.6.200";
        serverData.port = 64999u;
        serverData.sid  = 1u;
        serverData.clnt = 0u;
        this.serverList.Add(serverData);
        serverData      = new serverData();
        serverData.ip   = "10.1.8.7";
        serverData.port = 64999u;
        serverData.sid  = 1u;
        serverData.clnt = 0u;
        this.serverList.Add(serverData);
        serverData      = new serverData();
        serverData.ip   = "10.1.6.29";
        serverData.port = 64999u;
        serverData.sid  = 1u;
        serverData.clnt = 0u;
        this.serverList.Add(serverData);
        this.initInfo();
        this.setToggleEvent();
    }