private void sendLoginResponse(SslStreamObject sslStreamObject, bool response, string reason) { RawMessage message = new RawMessage(); message.putBool("response", response); message.putUTF8String("reason", reason); sslStreamObject.WriteSingleMessage(message); }
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."); }
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."); }
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"); } } }