[Tcp] 연속적인 정보를 송출시 유의점

 

 

상황 : 키넥트 센서에서 검출된 x , y, z 좌표를 int 형(4byte) 로 클라이언트에게 송출한다.

 

기존코드 :

public void sendByte(Socket client, byte[] data) { if (client.IsBound == false) return; try { NetworkStream ns = new NetworkStream(client); ns.Write(data, 0, data.Length); ns.Flush(); ns.Close(); ns.Dispose(); ns = null; } catch (IOException) { } catch (SocketException) { } }

 

data 에 보낼 정수들을 모아 보낸다.

예)

int[]{123,424,312} ->( BitConverter ) -> byte 배열로 바꾼다.

결과로 , 총 3 * 4 , 즉 크기 12 byte 를 가진 배열이 된다.

 

문제발생 :

정수 3개 를 가진 배열일때 송출되는 바이트 배열 12byte 는 클라이언트로 송출 될때 , 항상 12 바이트를 송출하지 않는다.

크기가 상당히 가변적이다.  따라서 클라이언트는 배열의 크기를 검사하여 12 바이트 이하로 들어오는 정보를 무시하는 코드를 작성하여야 에러를 피할수 있다.

그러나 성능상의 이유나 , 통신상의 이유로 이러한 무시됨이 잦을경우 수신을 문제로 이어 진다.

이를 해결하기 위해 에초에 서버에서 모든 정보를 묶어 한번에 보내는 방법을 생각해내야 한다.

 

 개선된 코드

        public void sendInts(Socket client, int[] data)
        {
            if (client.IsBound == false)
                return;

            try
            {
                NetworkStream ns = new NetworkStream(client);

                byte[] byteData = new byte[data.Length * 4];
                int c = 0;
                for (int i = 0; i < data.Length; ++i)
                {
                    //정수를 바이트로 변환하니 , 플래시에서 이상한 숫자 도출. - 리틀이디언 적용해야함
                    byte[] b =BitConverter.GetBytes(data[i]);

                    for (int j = 0; j < 4; ++j)
                    {
                        byteData[c] = b[j];
                        ++c;
                    }

                }

                ns.Write(byteData, 0, byteData.Length);
                ns.Flush();
                ns.Close();
                ns.Dispose();
                ns = null;
            }
            catch (IOException) { }
            catch (SocketException)
            {
            }
        }

byteData[] 라는 모든 int 정보를 담을 배열을 미리 생성하여 루프를 돌며 순차적으로 int 를 집어넣어 항상

정해진 길이만큼의 byte 를 송출한다.

결과 클라이언트에서는 무시되는(12byte 보다 작은 ) byte 는 전혀 없고 약간의 overbyte (24 byte) 가 보인다.

따라서 지속적인 스트리밍 에서는 위와 같은 방법으로 버퍼를 잡아 한번에 송출하여야 신뢰할수 있는 통신을 할수 있다.

'C#' 카테고리의 다른 글

Activator 를 이용한 Type Instance 생성  (32) 2012.12.29
[Broadcast Video Streaming]  (149) 2012.11.27
[Tcp] 연속적인 정보를 송출시 유의점  (91) 2012.11.04
[MEMO]  (58) 2012.10.14
[WCF] 간단한 채팅 샘플  (61) 2012.05.12
[ASP.NET] 클라이언트가 멀티파트 보내고 서버가 받기  (77) 2012.05.05
Yamecoder 야매코더_
C# 2012. 11. 4. 16:55

댓글을 달아 주세요

  1. 이전 댓글 더보기
  2. BlogIcon http://web11.cn/bbs/forum.php?mod=viewthread&tid=127012 2013.06.08 18:39  수정/삭제  댓글쓰기

    좋은
    ?the Valentine sequence Lancel Lancel candy color carrier

    fiery red flowers distributed romantic aroma , Chocolat to diffuse flavor , Valentine's Day is always brimming with stunning atmosphere . The occasion of Valentine's 's Day this season , Lancel introduced three luggage , we will let her get to be the focus of attention of the audience one of the most . Mini Premier Have fun series of Lancel bucket carrier , no matter from top, side , or inside of shows the modern city fashion charming as well as playful , full circular shape bucket hand bags always flattering gentle pumping Drawstring with a rear left the valiant body language is desirable .



    Lancel Lancel Romantic days celebration candy colors hand bags dream debut
    beautiful mini
    compact outdoor with a stylish and colorful candy colors , qualities of Lancel the girl This particular language spirit still play in the most . Whether you are a captivating lady , modern -type women , sexy Mature , you'll find that section Little Premier Flirt . Within this day of loving and sweet , http://www.feidahuwai.com/forum.php?mod=viewthread&tid=51995 http://www.feidahuwai.com/forum.php?mod=viewthread&tid=51995, with a playful, sexy femininity to capture his cardiovascular , to a perfect date .

  3. BlogIcon Chicago Blackhawks Jersey 2013.07.16 18:55  수정/삭제  댓글쓰기

    좋으면 좋고 싫으면 싫은 거지, 뭐가 이렇게 어렵고 복잡하냐구

  4. BlogIcon cheap louis vuitton 2013.07.22 02:14  수정/삭제  댓글쓰기

    When they see somebody that is more comfortable in her possess pores and skin, who dares to go from the stream, and many importantly, {louis vuitton stores in usa|louis vuitton locations nyc|lv usa|stores that carry louis vuitton|louis vuitton in san francisco|pyzam louis vuitton homepage|louis such as this for just a London excursion, which I believe is among your stops this summertime http://www.tibetdolmacarpets.com>louis vuitton outlet online ? louis vuitton online inside support of marketing them selves.. Though
    相关的主题文章:


    http://demo-fr-en.guppyed.org/guestbk.php lkga louis vuitton uuvic,rlvk louis vuitton fkynd

    http://javaudin.morgan.perso.neuf.fr/index.php?file=Guestbook epus louis vuitton xiuad,mnhv louis vuitton vwraj

    http://worms.teams.perso.sfr.fr/index.php?file=Guestbook rgjn louis vuitton otvbe,cgth louis vuitton cuqlz

    http://ludovic.quentin.perso.sfr.fr/index.php?file=Guestbook ohzh louis vuitton fptji,wnjt louis vuitton tranr

    http://javaudin.morgan.perso.neuf.fr/index.php?file=Guestbook vozv louis vuitton cktbs,klwj louis vuitton ifett

    http://demo-fr-en.freeguppy.org/guestbk.php wykc louis vuitton ytuyh,zclg louis vuitton drmyi

    http://www.fxgaming.middlemanmedia.net/index.php?file=Guestbook atsk louis vuitton uxzfm,thao louis vuitton vvqtk

    http://www.fxgaming.middlemanmedia.net/index.php?file=Guestbook tpvc louis vuitton oxtvt,wjxk louis vuitton tjagp

  5. BlogIcon 匿名 2013.10.01 14:48  수정/삭제  댓글쓰기

    의지PFA of pfa ball valve is very similar in composition to the fluoropolymers PTFE and FEP (fluorinated ethylene-propylene). PFA and FEP both share PTFE's useful properties of low coefficient of friction and non-reactivity, but are more easily formable. FEP is softer than PTFE and melts at 260 °C; it is highly transparent and resistant to sunlight.런리

  6. BlogIcon ic!berlin glasses 2013.10.09 15:49  수정/삭제  댓글쓰기

    겠마are you able to assume a life where you simply said sureto objects that you desired to do,ic!berlin sunglass?

    I’m talking about truly only doing the belongings you wish to need to do. this implies you never visit any affair out of obligation. You never did another favor for somebody unless you really had to,ici berlin sunglasses. you need to switch any plan on the los angelesst minute beca니방

  7. BlogIcon 長財布 2013.10.17 12:38  수정/삭제  댓글쓰기

    메를紋別市では、アザラシの保護活動などオホーツク海の海洋環境に関する事業(オホ,ルイ?ツクとっかりセンタ?指定管理経費)にも、ふるさと納税を活用しています。

    オホ?ツクとっかりセンタ?とは、日本で唯一、アザラシだけを飼育する施設であり、紋別市周辺で傷ついたり、弱ったりして群れからはぐれたアザラシを保護し、野生復帰を助けたり、アザラシの生態研究なども行っています。
    この施設では、14年ぶりとなる赤ちゃんアザラシが2012年3月に誕生し、オホ,ヴィトン財布?ツク海のようにたくましく育って欲しいとの願いを込めて、「海(かい)」くんと名付けられました。誕生から1年がたちましたが、元気にすくすくと育っています。こんな取り組みもしている、オホ,財布?ツク紋別のふるさと納税制度へ、ご協力のほど、お願いいたします,ヴィトン財布新作。また、観光での来紋も大歓迎ですので、ぜひ足をお運び下さい。(観光には羽가를

  8. BlogIcon nba cheap jerseys 2013.11.02 05:35  수정/삭제  댓글쓰기

    예표I decided to go as an emo for Halloween since I have no revenue for making each of the awesome mustard related costumes I genuinely would like to put on

    Okay. it is determined by what sort of emo seem your going for. if you need the scenester emo search. go to the phanie pack with dinasaurs on it. and put usless keys on your butt. and. yehh make sure you have black hair. Tight pants are neat also을정

  9. BlogIcon coach台灣官方網站 2014.01.18 21:26  수정/삭제  댓글쓰기

    지일,
    如今,校園創業項目異常的紅火,

    “同壆你好,請問你要吃點什麼,我們的美味悠長湯品都是熬制了3個小時的。”鼻梁上架著一副黑框眼鏡,一臉文氣的範宏偉拿著菜單、端著盤子在小店裏忙活著。他是南京林業大壆的大三壆生,同時也是這傢“美味悠長快餐加盟店”中餐館的老板,宜蘭特色料理餐廳。2月29日開張以來,每天中午,慕名而來的師生會將小店擠得水洩不通。

    中午12:30左右,南林大美食街香樟苑一傢名為“美味悠長快餐加盟店”的中西合璧的餐館門口,排起了長隊,,米黃色的牆紙、柔和的燈光、牆體四周的烤漆玻琍,整體環境顯得挺高雅。

    由於還在試營業階段,美味悠長快餐加盟店只有七八種餐品,例如蘿卜排骨飯、雞腿漢堡、玉米排骨飯……價格從10至12元不等。“我們的美味悠長湯品都是要熬制3小時的。”面對每一位光顧的客人,店老板範宏偉都熱情推薦著,“我一下課就趕過來了,中午人多,我得幫著搭把手。”

    南이그

  10. BlogIcon 匿名 2014.09.11 01:21  수정/삭제  댓글쓰기

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

  11. BlogIcon 匿名 2014.09.11 12:20  수정/삭제  댓글쓰기

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

  12. BlogIcon 匿名 2014.09.28 14:40  수정/삭제  댓글쓰기

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

  13. BlogIcon furla handbags 2014.10.14 13:57  수정/삭제  댓글쓰기

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

  14. BlogIcon 眼镜批发市场 2014.11.12 00:51  수정/삭제  댓글쓰기

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

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

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

  16. BlogIcon Longchamp Le Pliage Medium Soldes 2015.01.08 22:56  수정/삭제  댓글쓰기

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

  17. 匿名 2015.01.14 18:28  수정/삭제  댓글쓰기

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

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

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

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

    뉴우大话西游服务端凡人修真服务端大话西游服务端页游服务端问道服务端

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

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


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

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


    传奇广告代理-

    IDC服务器以及空间租用-

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


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

    Email:1325876192@qq.com

    商业版本免费开放下载




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



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



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



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

  20. BlogIcon fulinglasses review 2015.03.05 17:04  수정/삭제  댓글쓰기

    일다Diet can play an enormous role in depression. in case you are consuming the inproperthings, it is going to switch the best way you think that and perhapslaunch you in a depression spiral. keep away from junk food and learn more about nutritidirectly to adopt a nutritious diet.

    don't allow you torself get trapped in a negative circle. Constantly rehashing your negative feelings will have the sim로어

  21. 匿名 2015.04.03 13:50  수정/삭제  댓글쓰기

    일버Lacoste boots and a beret big mesh,Get Paid To Shop_57875., or even the entire pleated skirt,A Coin Shop, a Smile, and the Persistence of Memory_60703., tights and wool biker boots. The more adventurous may try to marry a trio monochrome black carrot trousers.



    Badia will be a mini-skirt skater, opaque tights and Minnetonka for a look kindly teenager, as she wants deliciously shifted pair of네습

Powerd by Tistory, designed by criuce
rss