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 );

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

            MakeLoginPacket( game.Username, game.Mppass );
            SendPacket();
            lastPacket = DateTime.UtcNow;
        }
Exemple #2
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);

            Disconnected                  = false;
            receivedFirstPosition         = false;
            lastPacket                    = DateTime.UtcNow;
            game.WorldEvents.OnNewMap    += OnNewMap;
            game.UserEvents.BlockChanged += BlockChanged;

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