서버
-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 |
---|