Beispiel #1
0
        public override void Connect(IPAddress address, int port)
        {
            socket = new Socket(address.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            try {
                socket.Connect(address, port);
            } catch (SocketException ex) {
                ErrorHandler.LogError("connecting to server", ex);
                game.Disconnect("&eUnable to reach " + address + ":" + port,
                                "Unable to establish an underlying connection");
                Dispose();
                return;
            }

            NetworkStream stream = new NetworkStream(socket, true);

            reader             = new NetReader(stream);
            writer             = new NetWriter(stream);
            gzippedMap         = new FixedBufferStream(reader.buffer);
            envMapApperanceVer = 2;

            Disconnected             = false;
            receivedFirstPosition    = false;
            lastPacket               = DateTime.UtcNow;
            game.MapEvents.OnNewMap += OnNewMap;

            MakeLoginPacket(game.Username, game.Mppass);
            SendPacket();
            lastPing = DateTime.UtcNow;
        }