Microsoft MVP성태의 닷넷 이야기
스마트 클라이언트에서 원치 않는 패킷 송수신 문제... [링크 복사], [링크+제목 복사],
조회: 10929
글쓴 사람
테드 (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]

... 16  17  18  19  20  21  22  23  24  25  [26]  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5292아부리2/19/202014316XingApiNet 관련 질문 [3]
5291지현명2/15/202015651JsonConvert.Serialize 하고 Deserialize 할때 간헐적으로 한글 깨짐 현상 문의 합니다. [3]
5290베도빈2/15/202014686직접 제작한 사용자 정의 콘트롤 DLL, 실행파일에 포함시켜 배포할 수 있을까요? [1]
5288김성배2/14/202014906c# 참조추가 기능에서 DirectX 참조가 보이지 않아요.. DircetX 11 은 설치 되어 있습니다. [1]
5287C# 초...2/14/202013805프로그램 실행 질문 드립니다. [4]파일 다운로드1
5286gongs2/3/202023074윈도우 배율 및 레이아웃에 대한 질문입니다. [3]
5285강성욱1/27/202015584작업관리자에 표시되는 스레드 개수와 프로그램 내 스레드 개수 일치 [1]
5284이상준1/15/202022291출력창에 '스레드가 종료되었습니다' 문구 문의 [2]파일 다운로드1
5282봉봉이 1/13/202017713소켓 비동기 ReceiveTimeOut 구현 [9]파일 다운로드1
5281봉봉이 1/13/202015618소켓 비동기 ReceiveTimeOut 구현 [2]
5280sdd1/8/202014141데이터 저장, 배치파일 관련하여 질문드립니다. [4]
5279김창한12/27/201914746dsoframer ocx [3]
5278guest12/27/201913761CLR 스레드 풀 관련 질문 [1]
5277방문자12/26/201913535WindowsForm 질문드립니다. [3]
5276진우12/17/201916333c++/c# 에도 파이썬 가상환경 같은 기능 혹시 있는지 궁금합니다. [3]
5275송재필12/17/201915287아래 'c#8.0 프로그래밍 교제 예제 관련 문의 드립니다' 의 원인이 압축 파일의 문제인듯 합니다. [2]파일 다운로드1
5272정영훈12/13/201915845byte => string => byte 변환 문의드립니다. [5]파일 다운로드1
5270김세미12/3/201914343c#8.0 프로그래밍 교제 예제 관련 문의 드립니다. [4]
5269달려라라...12/2/201915509C# winform(framework) tabcontrol 에서 button 함수 관련 질문 [3]파일 다운로드1
5266엔벌잉11/26/201913955라즈베리파이 autostart관련 질문 [2]
5265해나11/25/201913691C# 6.0 책 내용 문의 [1]
5264김혜원11/18/201916884C# CodeSign에 대해 여쭤볼 것이 있습니다 [4]
5263정환맨11/17/201915366Task관련 질문입니다 [3]
5262닷린이11/14/201917227Dispatcher 와 synchronizationcontext의 관계가 궁금합니다. [6]
5260방문자11/13/201915135안녕하세요 도움받고 싶습니다 [1]
5259ming11/13/201914334string타입 파라메터로 넘길때 메모리 내부가 궁금합니다. [3]
... 16  17  18  19  20  21  22  23  24  25  [26]  27  28  29  30  ...