서버

 

 

-app.js

const express = require('express');
const app = express();
const signUpRouter = require('./signUpRouter');
app.use(express.json());

app.use('/member', signUpRouter)

app.get('/', (req, res) =>{

    res.send('hello client');
});

app.listen(8080, () => {

    console.log('server started');
});

-dbConnect.js

const mysql2 = require('mysql2');
const conf = {
    host : 'localhost',
    user : 'root',
    password : '0000',
    database : 'game_db'
};
const  pool = mysql2.createPool(conf);

console.log(pool);

function getPool(){

    return pool.promise();
}

async function testQuery(){

    try{

        const promisePool = pool.promise();
        const [rows, fields] = await promisePool.query('select * from member');
        console.log(rows);
    }
    catch(err){

        console.error(err);
    }
}

//testQuery();
module.exports = getPool;

-sugnUpRouter.js

const express = require('express');
const getPool = require('./dbConnect');
const router = express.Router();

router.post('/',async (req, res) =>{

    //console.log(req.body);
    const {id, nickname, password} = req.body;
    try{
        
        const insertQuery = 'insert into member values(?, ?, ?, current_timestamp());';
        const pool = getPool();
        const [rows, fields] = await pool.query(insertQuery, [id, nickname, password]);
        console.log(rows);
        res.json({

            cmd : 200,
            messsage : '회원등록 성공'
        });
    }
    catch(err){

        console.log(err.errno);
        if(err.errno == 1062){

            res.json({

                cmd : 1001,
                messsage : '이미 가입되어 있는 아이디입니다.'
            });
        }
        else{

            res.json({

                cmd : 1002,
                messsage : '회원 등록에 실패하였습니다.'
            });
        }
    }

    


});

module.exports = router;

 

Unity

using System;
using System.Collections;
using System.Collections.Generic;
using System.Threading.Tasks;
using Newtonsoft.Json;
using UnityEngine;
using UnityEngine.Networking;

public class TestMain : MonoBehaviour
{
    public class user_info
    {
        public string id;
        public string nickname;
        public string password;
    }

    // public void Start()
    // {
    //     var packet = new user_info() { id = "jang", password = "asdqwe", nickname = "장길산" };
    //     var json = JsonConvert.SerializeObject(packet);
    //     StartCoroutine(Upload("localhost:8080/member", json));
    // }
    //
    // IEnumerator Upload(string URL, string jsonfile)
    // {
    //     using (UnityWebRequest request = UnityWebRequest.Post(URL, jsonfile))
    //     {
    //         byte[] jsonToSend = new System.Text.UTF8Encoding().GetBytes(jsonfile);
    //         request.uploadHandler = new UploadHandlerRaw(jsonToSend);
    //         request.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();
    //         request.SetRequestHeader("Content-Type", "application/json");
    //
    //         yield return request.SendWebRequest();
    //         if (request.result == UnityWebRequest.Result.ConnectionError ||
    //             request.result == UnityWebRequest.Result.ProtocolError)
    //         {
    //             Debug.Log(request.error);
    //         }
    //         else
    //         {
    //             Debug.Log(request.downloadHandler.text);
    //         }
    //     }
    // }


    public async void Start()
    {
        var packet = new user_info() { id = "jang", password = "asdqwe", nickname = "장길산" };
        var json = JsonConvert.SerializeObject(packet);
        await Upload("http://localhost:8080/member", json);
    }

    async Task Upload(string URL, string jsonfile)
    {
        using (UnityWebRequest request = UnityWebRequest.Post(URL, jsonfile))
        {
            byte[] jsonToSend = new System.Text.UTF8Encoding().GetBytes(jsonfile);
            request.uploadHandler = new UploadHandlerRaw(jsonToSend);
            request.downloadHandler = new DownloadHandlerBuffer();
            request.SetRequestHeader("Content-Type", "application/json");

            var operation = request.SendWebRequest();

            while (!operation.isDone)
            {
                await Task.Yield();
            }

            if (request.result == UnityWebRequest.Result.ConnectionError || request.result == UnityWebRequest.Result.ProtocolError)
            {
                Debug.Log(request.error);
            }
            else
            {
                Debug.Log(request.downloadHandler.text);
            }
        }
    }
}

'서버' 카테고리의 다른 글

express - Unity - mySql 연동  (0) 2023.06.12

+ Recent posts