Esempio n. 1
0
        private void sendLoginResponse(SslStreamObject sslStreamObject, bool response, string reason)
        {
            RawMessage message = new RawMessage();

            message.putBool("response", response);
            message.putUTF8String("reason", reason);

            sslStreamObject.WriteSingleMessage(message);
        }
Esempio n. 2
0
		private static void thread_connect()
		{
			try {
				//server.Connect("127.0.0.1",12122);		// Seni
                //server.Connect("192.168.1.6", 12122);		// Seni
				server.Connect("54.194.70.151",12122);			// amazon supersonikserver                				
                Runner.Graphics.connectionSuccessful();
				Debug.Log ("Successfully connected");
				sslStream = server.createSslStreamObject(true);
				sslStream.AuthenticateAsClient("essoperagma");
			}
			catch(Exception exc) {
                Debug.Log("errrrr:" + exc.Message);

				Runner.Graphics.connectionFailed();
				return;
			}
			Debug.Log ("Ssl Connection is ready.");
		}
Esempio n. 3
0
        private static void thread_connect()
        {
            try {
                //server.Connect("127.0.0.1",12122);		// Seni
                //server.Connect("192.168.1.6", 12122);		// Seni
                server.Connect("54.194.70.151", 12122);                                 // amazon supersonikserver
                Runner.Graphics.connectionSuccessful();
                Debug.Log("Successfully connected");
                sslStream = server.createSslStreamObject(true);
                sslStream.AuthenticateAsClient("essoperagma");
            }
            catch (Exception exc) {
                Debug.Log("errrrr:" + exc.Message);

                Runner.Graphics.connectionFailed();
                return;
            }
            Debug.Log("Ssl Connection is ready.");
        }
Esempio n. 4
0
        private void sendLoginResponse(SslStreamObject sslStreamObject, bool response, string reason)
        {
            RawMessage message = new RawMessage();
            message.putBool("response", response);
            message.putUTF8String("reason", reason);

            sslStreamObject.WriteSingleMessage(message);
        }
Esempio n. 5
0
        private void loginProcess()
        {
            string username;
            string password;

            string          certPassword = "******";
            X509Certificate certificate  = new X509Certificate2("ScienceWars_SSL_certificate.pfx", certPassword);

            SslStreamObject sslStream = session.client.createSslStreamObject(true);

            try
            {
                sslStream.AuthenticateAsServer(certificate);
            }
            catch (Exception e)
            {
                return;
            }

            while (true)
            {
                RawMessage message = sslStream.ReadSingleMessage();

                if (message == null)
                {
                    return;
                }

                username = message.getUTF8String("username"); // TODO exception check
                password = message.getUTF8String("password");

                int userId = 0;
                if (dal.credentialCheck(username, password, out userId)) //username, password, out userId))
                {
                    Database.Models.UserDataModel userData = new Database.Models.UserDataModel();

                    if (dal.getUserData(userId, TypeIdGenerator.getScienceNodeCount(), out userData))
                    {
                        //TODO unlocked Science Nodes bize dbId olarak geliyor ancak biz o id yi sanki isimden uretilen typeId si gibi kullaniyoruz. burada bir convert yapmak lazim
                        // aldigin unlockedScienceNodes arrayindeki her bir indexi dbId olarak tutan scienceNode u bul, o nodun typeId sini al, o typeId yi index olarak kullanarak yeni bir bool[] doldur.
                        // yeni olusturdugun bool array i User konstraktirina gonder.

                        sendLoginResponse(sslStream, true, "successful");
                        //sslStream.Close();        // DUE TO A BUG -kardeslerim- WE CANNOT CLOSE THE STREAM.
                        // Cunku close yaparsak, nereden geldigi belirsiz 37 byte, client'a ait messageListenera dusuyor.
                        // sadece unity'de oluyor, .net'te duzgun calisiyor. Muhtemelen Mono kaynakli bir sorun.

                        session.client.ListenForMessages();
                        User user = new User(session, username, userData.physPoints, userData.chemPoints, userData.chemPoints, userData.unlockedScienceNodes);
                        runner.userLoggedIn(user);
                        return;
                    }
                    else
                    {
                        sendLoginResponse(sslStream, false, "cannot retrieve user data");
                    }
                }
                else
                {
                    sendLoginResponse(sslStream, false, "wrong username or password");
                }
            }
        }