Microsoft MVP성태의 닷넷 이야기
스마트 클라이언트에서 원치 않는 패킷 송수신 문제... [링크 복사], [링크+제목 복사],
조회: 10995
글쓴 사람
테드 (jeidee at naver.com)
홈페이지
첨부 파일
 

안녕하세요.
스마트 클라이언트에 관해 쓰신 글을 읽고 회사 프로젝트에 적용해 개발중에 있습니다.

FarPoint사의 윈폼용 스프레드 컨트롤을 새로운 윈폼 컨트롤에 얹어 ASP.NET에서 사용중인데,
실제 웹서버에 사이트를 올리고 사용해보니,
셀을 이동할때마다 웹서버와 패킷을 송수신하여 성능이 급격히 떨어지는 문제가 발생했습니다.
네트워크 모니터로 모니터링해보니 셀을 이동할때 계속해서 웹서버와 패킷을 주고 받고 있었습니다.
짧은 소견으로는 스마트클라이언트와 웹서버간에 연결을 유지하기 위한 패킷으로도 생각되지만 잘 모르겠습니다.
웹페이지가 정상적으로 출력된 상태에서 오프라인을 시키면 당연히 웹서버와 패킷송수신이 없으므로
빠른속도록 셀 이동이나 편집이 가능해집니다.
하지만 다시 연결하면 패킷송수신이 시작되면서 속도가 급격히 떨어지구요.
조언 부탁드려요.


네트워크 모니터로 캡춰한 내용의 일부는 다음과 같습니다.

첫번째 유형:
클라이언트 -----------> 웹서버
    HTTP: GET Request (from client using port 3634)
    HTTP: Request Method = GET
    HTTP: Uniform Resource Identifier = /iexplore.exe.config
    HTTP: Protocol Version = HTTP/1.1
    HTTP: Accept = */*
    HTTP: Accept-Encoding = gzip, deflate
    HTTP: User-Agent = Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR
    HTTP: Host = ***.***.***.***
    HTTP: Connection = Keep-Alive
    ....

웹서버 -----------> 클라이언트
    .....
    HTTP: Response (to client using port 3634)
    HTTP: Protocol Version = HTTP/1.1
    HTTP: Status Code = Not found
    HTTP: Reason = Object Not Found
    HTTP: Server = Microsoft-IIS/5.0
    HTTP: Date = Fri, 22 Jul 2005 04:23:28 GMT
    HTTP: Connection = close
    HTTP: Content-Length = 3937
    HTTP: Content-Type = text/html
    HTTP: Data: Number of data bytes remaining = 1297 (0x0511)
    .....

두번째 유형:
클라이언트 ------------> 웹서버

TCP: .A.R.., len: 0, seq:3986502330-3986502330, ack:3662085292, win: 0, src: 3634 dst: 80
    TCP: Source Port = 0x0E32
    TCP: Destination Port = Hypertext Transfer Protocol
    TCP: Sequence Number = 3986502330 (0xED9D32BA)
    TCP: Acknowledgement Number = 3662085292 (0xDA46FCAC)
    TCP: Data Offset = 20 (0x14)
    TCP: Reserved = 0 (0x0000)
    TCP: Flags = 0x14 : .A.R..
        TCP: ..0..... = No urgent data
        TCP: ...1.... = Acknowledgement field significant
        TCP: ....0... = No Push function
        TCP: .....1.. = Reset the connection
        TCP: ......0. = No Synchronize
        TCP: .......0 = No Fin
    TCP: Window = 0 (0x0)
    TCP: Checksum = 0xC54E
    TCP: Urgent Pointer = 0 (0x0)
00000: 00 08 9F 02 AC 86 00 0F EA C0 8C 38 08 00 45 00 ..Ÿ.¬†..êÀŒ8..E.
00010: 00 28 F9 06 40 00 80 06 1D 15 C0 A8 00 64 D2 76 .(ù.@.€...À¨.dÒv
00020: 51 31 0E 32 00 50 ED 9D 32 BA DA 46 FC AC 50 14 Q1.2.Pí2ºÚFü¬P.
00030: 00 00 C5 4E 00 00 ..ÅN..


TCP: ....S., len: 0, seq:3292276979-3292276979, ack: 0, win:65535, src: 3635 dst: 80
    TCP: Source Port = 0x0E33
    TCP: Destination Port = Hypertext Transfer Protocol
    TCP: Sequence Number = 3292276979 (0xC43C28F3)
    TCP: Acknowledgement Number = 0 (0x0)
    TCP: Data Offset = 28 (0x1C)
    TCP: Reserved = 0 (0x0000)
    TCP: Flags = 0x02 : ....S.
        TCP: ..0..... = No urgent data
        TCP: ...0.... = Acknowledgement field not significant
        TCP: ....0... = No Push function
        TCP: .....0.. = No Reset
        TCP: ......1. = Synchronize sequence numbers
        TCP: .......0 = No Fin
    TCP: Window = 65535 (0xFFFF)
    TCP: Checksum = 0xA2B8
    TCP: Urgent Pointer = 0 (0x0)
    TCP: Options
        TCP: Maximum Segment Size Option
            TCP: Option Type = Maximum Segment Size
            TCP: Option Length = 4 (0x4)
            TCP: Maximum Segment Size = 1460 (0x5B4)
        TCP: Option Nop = 1 (0x1)
        TCP: Option Nop = 1 (0x1)
        TCP: SACK Permitted Option
            TCP: Option Type = Sack Permitted
            TCP: Option Length = 2 (0x2)

웹서버 ----------------> 클라이언트

HTTP: Response (to client using port 3634)
    HTTP: Data: Number of data bytes remaining = 1460 (0x05B4)
00000: 00 0F EA C0 8C 38 00 08 9F 02 AC 86 08 00 45 00 ..êÀŒ8..Ÿ.¬†..E.
00010: 05 DC EE 90 40 00 78 06 29 D7 D2 76 51 31 C0 A8 .Üî@.x.)×ÒvQ1À¨
00020: 00 64 00 50 0E 32 DA 46 FC AC ED 9D 32 BA 50 10 .d.P.2ÚFü¬í2ºP.
00030: 42 C0 CB CD 00 00 0A 09 2F 2F 66 6F 72 20 64 69 BÀËÍ....//for di
00040: 73 70 6C 61 79 2C 20 77 65 20 6E 65 65 64 20 74 splay, we need t
00050: 6F 20 73 6B 69 70 20 61 66 74 65 72 20 68 74 74 o skip after htt
00060: 70 3A 2F 2F 2C 20 61 6E 64 20 67 6F 20 74 6F 20 p://, and go to
00070: 74 68 65 20 6E 65 78 74 20 73 6C 61 73 68 0D 0A the next slash..
00080: 09 64 69 73 70 6C 61 79 72 65 73 75 6C 74 3D 44 .displayresult=D
00090: 6F 63 55 52 4C 2E 73 75 62 73 74 72 69 6E 67 28 ocURL.substring(
000A0: 70 72 6F 74 6F 63 6F 6C 49 6E 64 65 78 20 2B 20 protocolIndex +
000B0: 33 20 2C 73 65 72 76 65 72 49 6E 64 65 78 29 3B 3 ,serverIndex);
000C0: 0D 0A 0D 0A 09 49 6E 73 65 72 74 45 6C 65 6D 65 .....InsertEleme
000D0: 6E 74 41 6E 63 68 6F 72 28 75 72 6C 72 65 73 75 ntAnchor(urlresu
000E0: 6C 74 2C 20 64 69 73 70 6C 61 79 72 65 73 75 6C lt, displayresul
000F0: 74 29 3B 0D 0A 7D 0D 0A 0D 0A 66 75 6E 63 74 69 t);..}....functi
00100: 6F 6E 20 48 74 6D 6C 45 6E 63 6F 64 65 28 74 65 on HtmlEncode(te
00110: 78 74 29 0D 0A 7B 0D 0A 20 20 20 20 72 65 74 75 xt)..{.. retu
00120: 72 6E 20 74 65 78 74 2E 72 65 70 6C 61 63 65 28 rn text.replace(
00130: 2F 26 2F 67 2C 20 27 26 61 6D 70 27 29 2E 72 65 /&/g, '&amp').re
00140: 70 6C 61 63 65 28 2F 27 2F 67 2C 20 27 26 71 75 place(/'/g, '&qu
00150: 6F 74 3B 27 29 2E 72 65 70 6C 61 63 65 28 2F 3C ot;').replace(/<
00160: 2F 67 2C 20 27 26 6C 74 3B 27 29 2E 72 65 70 6C /g, '&lt;').repl
00170: 61 63 65 28 2F 3E 2F 67 2C 20 27 26 67 74 3B 27 ace(/>/g, '&gt;'
00180: 29 3B 0D 0A 7D 0D 0A 0D 0A 66 75 6E 63 74 69 6F );..}....functio
00190: 6E 20 54 61 67 41 74 74 72 69 62 28 6E 61 6D 65 n TagAttrib(name
001A0: 2C 20 76 61 6C 75 65 29 0D 0A 7B 0D 0A 20 20 20 , value)..{..
001B0: 20 72 65 74 75 72 6E 20 27 20 27 2B 6E 61 6D 65 return ' '+name
001C0: 2B 27 3D 22 27 2B 48 74 6D 6C 45 6E 63 6F 64 65 +'="'+HtmlEncode
001D0: 28 76 61 6C 75 65 29 2B 27 22 27 3B 0D 0A 7D 0D (value)+'"';..}.
001E0: 0A 0D 0A 66 75 6E 63 74 69 6F 6E 20 50 72 69 6E ...function Prin
001F0: 74 54 61 67 28 74 61 67 4E 61 6D 65 2C 20 6E 65 tTag(tagName, ne
00200: 65 64 43 6C 6F 73 65 54 61 67 2C 20 61 74 74 72 edCloseTag, attr
00210: 69 62 2C 20 69 6E 6E 65 72 29 7B 0D 0A 20 20 20 ib, inner){..
00220: 20 64 6F 63 75 6D 65 6E 74 2E 77 72 69 74 65 28 document.write(
00230: 20 27 3C 27 20 2B 20 74 61 67 4E 61 6D 65 20 2B '<' + tagName +
00240: 20 61 74 74 72 69 62 20 2B 20 27 3E 27 20 2B 20 attrib + '>' +
00250: 48 74 6D 6C 45 6E 63 6F 64 65 28 69 6E 6E 65 72 HtmlEncode(inner
00260: 29 20 29 3B 0D 0A 20 20 20 20 69 66 20 28 6E 65 ) );.. if (ne
00270: 65 64 43 6C 6F 73 65 54 61 67 29 20 64 6F 63 75 edCloseTag) docu
00280: 6D 65 6E 74 2E 77 72 69 74 65 28 20 27 3C 2F 27 ment.write( '</'
00290: 20 2B 20 74 61 67 4E 61 6D 65 20 2B 27 3E 27 20 + tagName +'>'
002A0: 29 3B 0D 0A 7D 0D 0A 0D 0A 66 75 6E 63 74 69 6F );..}....functio
002B0: 6E 20 55 52 49 28 68 72 65 66 29 0D 0A 7B 0D 0A n URI(href)..{..
002C0: 20 20 20 20 49 45 56 65 72 20 3D 20 77 69 6E 64 IEVer = wind
002D0: 6F 77 2E 6E 61 76 69 67 61 74 6F 72 2E 61 70 70 ow.navigator.app
002E0: 56 65 72 73 69 6F 6E 3B 0D 0A 20 20 20 20 49 45 Version;.. IE
002F0: 56 65 72 20 3D 20 49 45 56 65 72 2E 73 75 62 73 Ver = IEVer.subs
00300: 74 72 28 20 49 45 56 65 72 2E 69 6E 64 65 78 4F tr( IEVer.indexO
00310: 66 28 27 4D 53 49 45 27 29 20 2B 20 35 2C 20 33 f('MSIE') + 5, 3
00320: 20 29 3B 0D 0A 0D 0A 20 20 20 20 72 65 74 75 72 );.... retur
00330: 6E 20 28 49 45 56 65 72 2E 63 68 61 72 41 74 28 n (IEVer.charAt(
00340: 31 29 3D 3D 27 2E 27 20 26 26 20 49 45 56 65 72 1)=='.' && IEVer
00350: 20 3E 3D 20 27 35 2E 35 27 29 20 3F 0D 0A 20 20 >= '5.5') ?..
00360: 20 20 20 20 20 20 65 6E 63 6F 64 65 55 52 49 28 encodeURI(
00370: 68 72 65 66 29 20 3A 0D 0A 20 20 20 20 20 20 20 href) :..
00380: 20 65 73 63 61 70 65 28 68 72 65 66 29 2E 72 65 escape(href).re
00390: 70 6C 61 63 65 28 2F 25 33 41 2F 67 2C 20 27 3A place(/%3A/g, ':
003A0: 27 29 2E 72 65 70 6C 61 63 65 28 2F 25 33 42 2F ').replace(/%3B/
003B0: 67 2C 20 27 3B 27 29 3B 0D 0A 7D 0D 0A 0D 0A 66 g, ';');..}....f
003C0: 75 6E 63 74 69 6F 6E 20 49 6E 73 65 72 74 45 6C unction InsertEl
003D0: 65 6D 65 6E 74 41 6E 63 68 6F 72 28 68 72 65 66 ementAnchor(href
003E0: 2C 20 74 65 78 74 29 0D 0A 7B 0D 0A 20 20 20 20 , text)..{..
003F0: 50 72 69 6E 74 54 61 67 28 27 41 27 2C 20 74 72 PrintTag('A', tr
00400: 75 65 2C 20 54 61 67 41 74 74 72 69 62 28 27 48 ue, TagAttrib('H
00410: 52 45 46 27 2C 20 55 52 49 28 68 72 65 66 29 29 REF', URI(href))
00420: 2C 20 74 65 78 74 29 3B 0D 0A 7D 0D 0A 0D 0A 2F , text);..}..../
00430: 2F 2D 2D 3E 0D 0A 3C 2F 73 63 72 69 70 74 3E 0D /-->..</script>.
00440: 0A 0D 0A 3C 62 6F 64 79 20 62 67 63 6F 6C 6F 72 ...<body bgcolor
00450: 3D 22 46 46 46 46 46 46 22 3E 0D 0A 0D 0A 3C 74 ="FFFFFF">....<t
00460: 61 62 6C 65 20 77 69 64 74 68 3D 22 34 31 30 22 able width="410"
00470: 20 63 65 6C 6C 70 61 64 64 69 6E 67 3D 22 33 22 cellpadding="3"
00480: 20 63 65 6C 6C 73 70 61 63 69 6E 67 3D 22 35 22 cellspacing="5"
00490: 3E 0D 0A 0D 0A 20 20 3C 74 72 3E 0D 0A 20 20 20 >.... <tr>..
004A0: 20 3C 74 64 20 61 6C 69 67 6E 3D 22 6C 65 66 74 <td align="left
004B0: 22 20 76 61 6C 69 67 6E 3D 22 6D 69 64 64 6C 65 " valign="middle
004C0: 22 20 77 69 64 74 68 3D 22 33 36 30 22 3E 0D 0A " width="360">..
004D0: 09 3C 68 31 20 73 74 79 6C 65 3D 22 43 4F 4C 4F .<h1 style="COLO
004E0: 52 3A 30 30 30 30 30 30 3B 20 46 4F 4E 54 3A 20 R:000000; FONT:
004F0: 31 33 70 74 2F 31 35 70 74 20 76 65 72 64 61 6E 13pt/15pt verdan
00500: 61 22 3E 3C 21 2D 2D 50 72 6F 62 6C 65 6D 2D 2D a"><!--Problem--
00510: 3E 20 C0 CC 20 C6 E4 C0 CC C1 F6 B8 A6 20 C3 A3 > &Agrave;&Igrave; Æ&auml;&Agrave;&Igrave;&Aacute;&ouml;¸&brvbar; &Atilde;&pound;
00520: C0 BB 20 BC F6 20 BE F8 BD C0 B4 CF B4 D9 2E 3C &Agrave;&raquo; ¼&ouml; ¾ø½&Agrave;´&Iuml;´&Ugrave;.<
00530: 2F 68 31 3E 0D 0A 20 20 20 20 3C 2F 74 64 3E 0D /h1>.. </td>.
00540: 0A 20 20 3C 2F 74 72 3E 0D 0A 0D 0A 20 20 3C 74 . </tr>.... <t
00550: 72 3E 0D 0A 20 20 20 20 3C 74 64 20 77 69 64 74 r>.. <td widt
00560: 68 3D 22 34 30 30 22 20 63 6F 6C 73 70 61 6E 3D h="400" colspan=
00570: 22 32 22 3E 20 3C 66 6F 6E 74 20 73 74 79 6C 65 "2"> <font style
00580: 3D 22 43 4F 4C 4F 52 3A 30 30 30 30 30 30 3B 20 ="COLOR:000000;
00590: 46 4F 4E 54 3A 20 39 70 74 2F 31 31 70 74 20 B1 FONT: 9pt/11pt ±
005A0: BC B8 B2 22 3E C3 A3 B0 ED 20 C0 D6 B4 C2 20 C6 ¼¸²">&Atilde;&pound;°&iacute; &Agrave;&Ouml;´&Acirc; Æ
005B0: E4 C0 CC C1 F6 B0 A1 20 BB E8 C1 A6 B5 C7 BE FA &auml;&Agrave;&Igrave;&Aacute;&ouml;°¡ &raquo;&egrave;&Aacute;&brvbar;&micro;&Ccedil;¾&uacute;
005C0: B0 C5 B3 AA 20 C0 CC B8 A7 C0 CC 20 BA AF B0 E6 °&Aring;³ª &Agrave;&Igrave;¸§&Agrave;&Igrave; º&macr;°æ
005D0: B5 C7 BE FA B0 C5 B3 AA 20 C0 CF BD C3 C0 FB C0 &micro;&Ccedil;¾&uacute;°&Aring;³ª &Agrave;&Iuml;½&Atilde;&Agrave;&ucirc;&Agrave;
005E0: B8 B7 CE 20 BB E7 BF EB C7 D2 ¸·&Icirc; &raquo;&ccedil;¿&euml;&Ccedil;&Ograve;








[최초 등록일: ]
[최종 수정일: 7/22/2005]


비밀번호

댓글 작성자
 



2005-08-16 11시14분
ko-KR 관련 리소스를 찾는 요청을 보내서 그런 겁니다.
폼 로드시에 관련 리소스를 찾지 않도록 언어속성을 "중립" 으로 설정하십시오.

techsharer
2005-08-18 01시51분
[테드] 감사합니다.
헌데,
언어속성을 중립으로 할때 웹폼페이지의 culture를 변경해야 하는지, 윈폼(컨트롤)의 culture를 변경해야 하는지 모르겠네요.
그리고 중립이라는 속성은 지정하지 않는다는 의미인지요...
죄송한데 한번만더 도움을...
[guest]
2005-08-18 02시12분
[테드] 중립이란 의미를 찾아봤는데 국가지정을 하지 않을 경우(예를 들면 ko-KR은 고정, ko는 중립) 중립이 된다는 것은 알겠는데 웹폼페이지의 culture를 ko로 지정한다거나 web.config의 globalization의 culture를 ko로 지정한다거나 하는 것은 지원하지 않는군요. 즉, 고정언어속성만 지정할 수 있게끔 되어 있는것 같습니다.
기본값("")또한 고정언어속성이라 중립으로 지정할 수 있는 방법이 있는 것인지도 궁금하네요.
[guest]

... 46  47  48  49  50  51  52  53  54  55  56  57  58  59  [60]  ...
NoWriterDateCnt.TitleFile(s)
1153이상헌6/8/201317276죄송합니다;; 또다시 의문점이 생겨 질문드립니다. [1]
1152이상헌6/8/201316644넷두이노 플러스 펌웨어 다운로드가 안되네요;;; [1]
1151황기동6/5/201317584무선 패킷 전송관련 질문 [1]
1147이진권6/2/201317889c# 윈폼 facebook과 연동2 [1]
1144황은영5/29/201322081원격지 서버에서 COM+ 호출이 되지 않습니다. [7]
1143김선희5/28/201323007윈도우 8, 익스플로러 10, 64bit->32bit [1]
1142백지훈5/15/201317911음성인식 TTS 관련해서 질문드립니다 ㅜㅜ [2]파일 다운로드1
1141나그네5/10/201318150안녕하세요..전자세금 관련하여.. 보다보다 여기까지 왔습니다. [4]
1140이성환5/8/201318186제네릭과 배열 관련 기초 질문입니다. [11]
1139양영석5/3/201316661페이스북 로그인 관련하여.... [1]
1137김민현4/30/201316490Binary 구조체에 대한 Linq query 관련 질문입니다. [3]파일 다운로드1
1136박상영4/25/201317802ksc5601에서 지원하지않는 확장문자 찾는방법 [3]
1135sequ...4/16/201333581c# dll c++ 에서 사용하기 (event 사용) [17]
1134이성환4/12/201317919volatile 키워드 관련 질문입니다. [3]파일 다운로드1
1133서광석4/8/201320939vb.net 2010에서 배포시 문제점 확인 방법에 대한 질문드립니다 [1]
1131헤딩3/28/201323161IIS 처리 성능을 높이고 싶으면 풀의 proecss 수를 계속 늘리면 될까요? [1]
1130박재율3/27/201317520WCF 서비스가 종종 죽는데 도움좀 부탁드립니다 ㅠ [1]
1129이상민3/21/201321924안녕하세요...IE Embedded Smart Client가 Windows8에서 정상동작을 하지 않습니다. [8]
1125박홍균3/19/201315274안녕하십니까. visual studio 에서 TFS 접속 관련으로 궁금한 점 여쭤봅니다.
1124궁금이3/18/201318408IIS 서버 이중화 구성시 데이터 베이스 트랜잭션 관리에 관해서... [1]
1127궁금이3/19/201315605    답변글 [답변]: IIS 서버 이중화 구성시 데이터 베이스 트랜잭션 관리에 관해서...(정성태님 봐주세요)
1122김시현3/11/201317016 Xamarin 에 관련하여 질문드립니다. [4]
1121롬메달2/14/201317487Assembly.Load로 얻은 객체안에서 제3의 어셈블리를 참조할때의 문제입니다. [8]
1120Lyn2/12/201316945안녕하세요. 블로그에 기술관련글을 꾸준히 포스팅 하실 수 있는 원동력이 궁금합니다. [1]
1119박진영2/4/201340068닷넷 DLL 실행 에러 (보호된 메모리를 읽거나 쓰려고 했습니다..) [2]파일 다운로드1
1118C#조으다1/29/201318620공유기 관리 페이지에 접근시 윈도우 인증창이 뜹니다. [4]
... 46  47  48  49  50  51  52  53  54  55  56  57  58  59  [60]  ...