[socket] header 정보의 byte length를 미리 알아보자



기존에는 header 정보를 보낼때 1024 , 2048 , 등등의 header byte를 서버와 클라이언트가 약속하여 보냈다.

따라서 클라이언트가 보내려는 바이트가 1개 이든 100개 이든 무조건 1024 개를 억지로 맞추어 보냈다.

불필요 했다.

한가지 과정만 서버에 보태어 진다면..


<Process>

클라이언트 접속

RowBuffer 바이트배열에 클라이언트로 부터 받은 모든 바이트를 넣는다(client.Receive(Rowbuffer))

RowBuffer 에 유요한 바이트가 몇개인지 체크한다. (바이트가 "0" 이상 일때)

체크된 수 만큼 실제 headerBuffer 바이트배열을 생성한다

headerBuffer 에 RowBuffer 를 1:1 삽입한다.




※ 그냥 RowBuffer를 인코딩하여 읽었다가는 해당 Thread가 먹통이 된다.


 
private void acceptClient(IAsyncResult ar)
        {
            if (isDispose == true)
                return;

            Console.WriteLine("connect!" + Thread.CurrentThread.ManagedThreadId);

            Socket client = server.EndAccept(ar);

            //row버퍼 생성
            byte[] headerbuffrow = new byte[client.SendBufferSize];

            //row버퍼 삽입
            client.Receive(headerbuffrow);

            //row버퍼 크기 체크
            int headerByteCount = 0;
            for (int i = 0; i < headerbuffrow.Length; ++i)
            {
                if (headerbuffrow[i] > 0)
                {
                    ++headerByteCount;
                }
            }

            //row버퍼 크기만큼 실제 headerBuff 생성
            byte[] headerbuff = new byte[headerByteCount];
            for (int i = 0; i < headerbuff.Length; ++i)
            {
                 headerbuff[i] = headerbuffrow[i];
            }

            //읽기
            string readStr = Encoding.Default.GetString(headerbuff).TrimEnd();
            Console.WriteLine(readStr);
            Console.WriteLine("end!");

            client.Disconnect(false);
            client.Close();
        }



약점은 rowHeader를 두번 읽어야 하는 비효율 이다.

Yamecoder 야매코더_
C# 2012. 3. 6. 14:11

댓글을 달아 주세요

  1. 이전 댓글 더보기
  2. BlogIcon 匿名 2014.09.11 01:21  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  3. BlogIcon 匿名 2014.09.21 23:10  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  4. BlogIcon 深圳横岗眼镜批发 2014.11.12 00:51  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  5. BlogIcon Wholesale ipad 4 2014.11.12 03:17  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  6. BlogIcon scarpe moncler 2012 2014.11.12 11:44  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  7. BlogIcon ipo moncler borsa italiana 2014.11.12 11:46  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  8. BlogIcon moncler sito ufficiale 2014.11.28 22:31  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  9. 匿名 2014.12.03 05:44  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  10. BlogIcon moncler vest men 2014.12.03 10:46  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  11. 匿名 2015.01.07 17:46  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  12. 匿名 2015.01.15 12:21  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  13. 匿名 2015.01.19 10:54  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  14. 匿名 2015.02.11 14:03  수정/삭제  댓글쓰기

    되예大话西游服务端凡人修真服务端大话西游服务端页游服务端问道服务端

    跑跑卡丁车服务端英雄远征服务端幻灵游侠私服务端洪荒神话私服务端

    完美世界服务端烈焰服务端洛汗服务端新魔界服务端绝对女神私服务端


    魔兽私服开区一条龙服务-

    传奇私服开传奇一条龙服务-


    传奇广告代理-

    IDC服务器以及空间租用-

    魔域开区sf一条龙开区服务-


    客服咨询QQ(企鹅扣扣)1325876192

    Email:1325876192@qq.com

    商业版本免费开放下载




    紫川科技最新毁灭天下1.85狂雷独家合击热血复古三职业新装传奇服务端



    紫川科技20星大极品良装+80麒麟锻造中变传奇服务端



    紫川科技独家轻变1.89奥妙转生神龙锻造珍珑元素版传奇服务端



    紫川科技独家九转1.85四皇冠加倍装备特戒龙卫지있

  15. 匿名 2015.03.01 14:22  수정/삭제  댓글쓰기

    로습大话西游服务端凡人修真服务端大话西游服务端页游服务端问道服务端

    跑跑卡丁车服务端英雄远征服务端幻灵游侠私服务端洪荒神话私服务端

    完美世界服务端烈焰服务端洛汗服务端新魔界服务端绝对女神私服务端


    魔兽私服开区一条龙服务-

    传奇私服开传奇一条龙服务-


    传奇广告代理-

    IDC服务器以及空间租用-

    魔域开区sf一条龙开区服务-


    客服咨询QQ(企鹅扣扣)1325876192

    Email:1325876192@qq.com

    商业版本免费开放下载




    紫川科技最新毁灭天下1.85狂雷独家合击热血复古三职业新装传奇服务端



    紫川科技20星大极品良装+80麒麟锻造中变传奇服务端



    紫川科技独家轻变1.89奥妙转生神龙锻造珍珑元素版传奇服务端



    紫川科技独家九转1.85四皇冠加倍装备特戒龙卫시료

  16. BlogIcon oakley outlet 2015.03.25 02:12  수정/삭제  댓글쓰기

    지뉴10 factors why you need to view the actual movie

    Brand new Delhi: Maker Akshay Kumar's 'Oh My personal God' is dependant on the Gujrati perform 'Kanji Virrudh Kanji'. It's additionally used components through Paresh Rawal's Hindi perform 'Krishna versus Kanhaiya'. The actual movie is actually relaxing within it's strategy and it has showcased a brand new concept. Nevertheless, this isn't the on상종

  17. BlogIcon echarpe burberry homme 2015.03.27 21:10  수정/삭제  댓글쓰기

    련되il y a une relation entre t shirt burberry pas cher une classe "le surplus de travail sans - abri", progressivement une partie sup&eacute;rieure de la Chine. double coup parce que l'arm&eacute;e et la r&eacute;volte des paysans Qing constamment,Ou de nuages, il est mort. le commerce et l'inhibition des entreprises priv&eacute;es.| | "le triomphe de la volont&eacute; est consid&eacute;r&eacute; com예니

  18. BlogIcon homme burberry soldes 2015.03.30 11:27  수정/삭제  댓글쓰기

    및이Dix Shang Ming Gang (sur)

    --------------- s&eacute;rie d'affaires culturelles et commerciales

    12

    (un) | commer&ccedil;ant | Shanxi

    Shanxi groupe commercial d&eacute;nomm&eacute; Jin Gang, Ming l'augmentation, principalement en 500 vetement burberry soldes ans.

    mont&eacute;e

    Jin Gang, mais au bon moment.|

    | appel&eacute;s jours, au d&eacute;but de l'empereur Taizu politique e에련

  19. BlogIcon oakley sunglasses store 2015.04.02 02:11  수정/삭제  댓글쓰기

    를니Economy revival roadmap key agenda at CWC meet

    The CWC the party's highest executive body for shop louis vuitton decision making will meet after a gap of more than a year. The extended body of the CWC is also slated to discuss the current political situation louis vuitton en ligne and the performance of the party in the last round of assembly elections.

    As the meeting comes in the backdr다버

  20. 匿名 2015.04.08 09:20  수정/삭제  댓글쓰기

    네네Known publishers from the foreign press, secular, artists, designers and fashionsitas, everybody came from the collection of women Moncler Marmelade Techno equipped with seat belts parka to be seen. They are all "oohed and ahhed" while enjoying hot cider and hot chocolate. Personally.



    Ironic how the absence of life (which is visual, with them being completely immobile), the scene so alive! 그려

  21. BlogIcon mont blanc ballpoint pen 2015.04.10 03:48  수정/삭제  댓글쓰기

    단에Levi's Makes Jeans of a Different Color Using a Naturally Brown Cotton Fiber

    COUNTRYWESTERN star Crystal Gayle sang "Don't it make my brown eyes blue. " Now Levi Strauss Co. Ever since Levi Strauss began retailing the rugged pants to fortyniners during the California gold rush, the fabric has been woven from white cotton fibers dyed indigo blue. "Not only is the colored cotton a botanical break에표

Powerd by Tistory, designed by criuce
rss