Ejemplo n.º 1
0
        public void Go()
        {
            string username = Name;
            string password = "******";
            WebRequest request = WebRequest.Create("http://127.0.0.1:2020/login/" + username + "/" + password);
            var response = request.GetResponse();
            var stream = response.GetResponseStream();
            if (stream != null && stream.CanRead)
            {
                byte[] buffer = new byte[10240];
                int length = stream.Read(buffer, 0, buffer.Length);

                dynamic result = JObject.Parse(Encoding.UTF8.GetString(buffer, 0, length));
                if (result["result"].ToString() == "OK")
                {
                    _token = result["token"].ToString();
                    Server server = new Server()
                    {
                        //DestID = s.destID,
                        IP = "127.0.0.1",
                        Name = "测试",
                        Port = 2021
                    };
                    EnterGame(server);
                }
                else
                {
                    Console.WriteLine(result["result"].ToString());
                }
            }

            Thread thread = new Thread(() =>
            {
                int times = 1;
                Random random = new Random();
                while (true)
                {
                    SendChat(times++.ToString());
                    Thread.Sleep(random.Next(1000, 6000));
                }
            });
            thread.Start();
        }
Ejemplo n.º 2
0
        void EnterGame(Server server)
        {
            if (_stream == null || !_stream.CanWrite)
            {
                if (server == null)
                    return;
                _client = new TcpClient();
                _client.Connect(server.IP, server.Port);
                _stream = _client.GetStream();
                Rece(_stream);
            }

            var converter = EndianBitConverter.Big;
            byte[] body = Encoding.UTF8.GetBytes(_token);
            int length = body.Length;

            byte[] data = new byte[length + 10];
            int offset = 0;
            data[3] = 0x01; //cmd
            offset += 4;
            converter.CopyBytes((ushort)(length + 4), data, offset);
            offset += 2;
            converter.CopyBytes((int)CMD_Chat.Send, data, offset);
            offset += 4;
            Buffer.BlockCopy(body, 0, data, offset, length);
            _stream.Write(data, 0, data.Length);
        }