ehdgks0627 / layer7-ca

hi ^^
0 stars 1 forks source link

POST통신 일체화 #11

Open rlfdldjaak22 opened 7 years ago

rlfdldjaak22 commented 7 years ago
public string post_query(params string[] postDatas) // 첫 인자는 무조건 URL주소
        {
            HttpWebRequest wReq;
            HttpWebResponse wRes;
            var resResult = "";
            var uri = new Uri(postDatas[0]); // string 을 Uri 로 형변환

            wReq = (HttpWebRequest)WebRequest.Create(uri); // WebRequest 객체 형성 및 HttpWebRequest 로 형변환
            wReq.Method = "POST"; // 전송 방법 "GET" or "POST"
            wReq.ServicePoint.Expect100Continue = false;
            wReq.ContentType = "application/x-www-form-urlencoded";
            String postData = "";
            for (int i = 1; i < postDatas.Length; i++)
            {
                if (i != 1)
                    postData += "&";
                postData += postDatas[i];
            }
            byte[] byteArray = Encoding.UTF8.GetBytes(postData);

            Stream dataStream = wReq.GetRequestStream();
            dataStream.Write(byteArray, 0, byteArray.Length);
            dataStream.Close();
            using (wRes = (HttpWebResponse)wReq.GetResponse())
            {
                Stream respPostStream = wRes.GetResponseStream();
                StreamReader readerPost = new StreamReader(respPostStream, Encoding.GetEncoding("UTF-8"), true);
                resResult = readerPost.ReadToEnd();
            }
            return resResult;
        }

가변인자를 이용하여 통신할 URL을 정하고 인자값을 슥슥 넣어주면 됨.

ex) register하고 싶을 경우

Post_query(4, "http://layer7.kr/register.php", "id=" + id_input.Text, "pw=" + pw_input.Text, "nickname="+nickname_input.Text)

여러가지 문제점이 있으면 피드백 바람 수정하겠음

junorouse commented 7 years ago

게임 통신도 http 쓰는거야?

ehdgks0627 commented 7 years ago

게임에서 바로 db접속하는 코드가 안먹히기도하고 보안상 이유로 api형식으로 개발했어용 아마 게임도 그럴것같습니당

rlfdldjaak22 commented 7 years ago

using System.Net; using System.IO; 해야되네

rlfdldjaak22 commented 7 years ago

인자중 불필요한 int n 삭제

rlfdldjaak22 commented 7 years ago

불필요한 연산 삭제 인코딩 방식 UTF-8 로 변경