버그 해결을 위한 모든 질문을 던져
0 votes
78 views

싱글플레이지만 서버와 db가 필요하여 "Unity와 C++ 서버로 멀티플레이 만들기" 글을 참고하여 개발중에 있습니다. (링크 : http://lab.gamecodi.com/board/zboard.php?id=GAMECODILAB_Proudnet_Lec&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=20)

db는 mysql을 사용하고 있습니다. (IP : localhost, Port : 12349, db : gamedb)

 

클라이언트 GUI에 아이디 비밀번호를 입력하여 Login 버튼을 누르면 서버에 접속하고 해당 아이디와 비밀번호 정보가 db에 있으면 로그인이 되는 형식입니다.

 

<클라이언트>

m_stub.NotifyLoginSuccess = (HostID remote, RmiContext rmiContext) =>

{

   Debug.Log("NotifyLoginSuccess");

    m_state = MyState.Connected;

    return true;

};

m_stub.NotifyLoginFailed = (HostID remote, RmiContext rmiContext, System.String reason) =>

{

    Debug.Log(reason);

    m_disconnectNow = true;

    return true;

};


근데 로그인 버튼을 누르면 "Connecting.." 으로만 내용이 바뀌고 위 두 함수 중 어느 곳으로도 들어가질 않습니다. (Debug.Log() 내용이 뜨지 않네요 ㅠㅠ)

서버쪽도 마찬가지입니다.

<서버>

DEFRMI_Simple_RequestLogin(SimpleServer)

{

    try

    {

        CAdoConnection conn;

 

        conn.Open(L"Driver={MySQL ODBC 5.3 Unicode Driver};Server=localhost;Database=gamedb;UID=root;PWD=*******", DbmsType::MySql);

 

        CAdoCommand cmd;

 

        cmd.Prepare(conn, L"GetGameUser");

        cmd.AppendParameter(L"UserID", ADODB::adVarWChar, ADODB::adParamInput, id.c_str());

        CAdoRecordset rs;

        cmd.Execute(rs);

 

        String password2;

        if (!rs.GetFieldValue(L"Password", password2) || password != password2.GetString())

        {

            // 잘못된 비밀번호로 로그인해도 이 조건문으로 들어오지 않음

            m_proxy.NotifyLoginFailed(remote, RmiContext::ReliableSend, L"Invalid user ID or password");

            return true;

        }

        // success!

       // 아이디, 비번정보가 db에 있음에도 불구하고 호출되지 않음

        m_proxy.NotifyLoginSuccess(remote, RmiContext::ReliableSend);

    }

    catch (AdoException& e)

    {

         //실패해도 호출되지 않음

        m_proxy.NotifyLoginFailed(remote, RmiContext::ReliableSend, StringA2T(e.what()).GetString());

    }

 


"Unity와 C++ 서버로 멀티플레이 만들기"에서는 MsSQL을 사용하고 있는데 MySQL로 개발해서 이러는 걸까요????? ㅠㅠㅠ 왜이런지 문제를 모르겠습니다.....도와주세요 ㅠㅠㅠ
asked (2 point)
재 태그 , 78 views

1 답변

0 votes
DB에 접속을 못하는거 같은데요
DB세팅 할때 사용할 IP 세팅 할텐데 localhost 를 사용하는지 모르겠지만

보통 127.0.0.1 로 세팅 해서 하지 않나 싶으네요
answered (18 point)

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

461 질문
607 answers
598 댓글
68,220 users