|
안녕하세요..
소켓 통신으로 물론 HTTP를 구현을 할 수는 있지만, HTTP 규격에 해당하는 프로토콜을 직접
다 만들어 주셔야 합니다. 소켓을 이용하시려면 포트 80 으로 접속하셔서 HTTP 프로토콜에
맞게 송신 및 수신을 하시면 되는데 추천해 드리고 싶은 방법은 아니군요. :D
HTTP 프로토콜로 송 수신이 오고 가는 데이터가 발생한 것은, 먼저 송신 정보를 보내고
수신 정보를 받고 이 절차가 있기 때문에 패킷 캡쳐에서 그렇게 보이는 것입니다.
확실한 질문의 요지를 제가 이해하지 못해서 정확한 답변은 못드리겠으나.. ^^;
HTTP 내에서 소켓 통신처럼 소켓을 물고 할 수 있는 방법도 있습니다. PHP 등으로
파일의 끝을 알리지 않고, 계속 flush 해주면서 작업을 해주면 되는 것인데요
(HTTP 파일 전송도 이러한 원리로 작동됩니다)
하지만, 소켓 안정성 부분에서는 많이 떨어지겠지요.
cuperido
컴초보117 님이 쓰신 글 :
: 안녕하십니까?
:
: 성의있게 답변해주쎴는데 제가 미처 보지 못하여 죄송합니다.
:
: 설명은 잘 듣었는데여~~
: 음~~ 아래에 있는 패킷은 서로 통신하는 페킷입니다.
:
: 즉 일정부문은 써버에서 나에게로 또 그 나머지부분은 나에게서 써버로....
:
: 이런경우에는 HTTP->Get, 또는 HTTP->Post 를 사용할수가 없지 않나요?
:
: 혹시 소켓통신으로 이렇한 송수신 패킷을 구성할수는 없는지요?
:
: 저의 짧은 생각인데 바로잡아주십~~.
:
: 그럼 안녕히!!!
:
:
: 유영인 Cuperido 님이 쓰신 글 :
: : 안녕하세요.
: :
: : 우선 HTTP 패킷이네요. 이 경우에는 Indy를 사용하시면 좀 쉽게 구현하실 수 있습니다.
: : Indy를 설치하시고 (C++ Builder 6에는 기본 설치되어 있음) idHTTP 를 이용해서,
: : 헤더 부분에 (Request 프로퍼티) 아래 헤더에 있는 것처럼 User-Agent, Host 등등을
: : 설정합니다.
: :
: : 그 다음 아래에 있는 패킷 내용을 첨부해서 보내면 됩니다. 아래 캡쳐된 패킷 내용의 경우에는
: : 여러가지 암호화 및 자체 소켓 내에서 뿌리는 메시지도 함께 들어있기 때문에, 응용 프로그램에서
: : 저와 동일하게 보낸다고 해도 똑같은 결과가 보장 될 수 없습니다.
: :
: :
: : cuperido
: :
: : 컴초보117 님이 쓰신 글 :
: : : 안녕하세요?
: : :
: : : 제 컴에서 아래와 같은 패킷을 캡쳐했는데여~~~
: : :
: : :
: : : CONNECT trading.markets.hsbc.com:443 HTTP/1.1
: : : User-Agent: Mozilla/4.0 (Windows XP 5.1) Java/1.4.2_06
: : : Host: trading.markets.hsbc.com
: : : Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
: : :
: : : HTTP/1.0 200 Connection established
: : :
: : : ....i...e..B..@Cj]p.....d..1#....T...h.9>. c.....[I=5{...h.O^17.b..V....@........./.3.2.........................J...F..B.....l.C.tZ...2....q........&.. c.....[I=5{...h.O^17.b..V....@...............8......$........)..)...l..#..<...\.9..../F&{..N2...1...N...........8M.:.V..2.[......q..8.......i.U.9%.]..w...1.I"$.G......:......., $.....|..G.k~.<..au.R.'.Z.....).Z..}....-*.+[w..\!.w...u.).>.u.
: : : x......D...Q..3@K...|.*|..Md..84......zN...d5...$..$gQ..Z.-..t".n6|..<..Q~..6.....Xc\...Z.......a=v.z..V..-B..A1.P{A|.6~.P.V./.l.....p.L..V...V..*..z..Z...s... .4....pc.../.ef.......v.......A.T..9..4.......h?|7..........f.oj|A.g.....@.b.%I..nS..C.J.^U.P..e.B:..hY..m.UQ.......o^5uq.....%/z..6ML.B._.........C...........3f5.L.uL.}|M........{}$m..!...$.g.....M.}...i.!..mp.4..d.NS.^..pa^...J...V>..KL.D...89...S.\..X..,..y..d.m...%f...].j]..Uq....1.......n.......O.5:).._:.W.:..X}._6...EO........'nSxX^..EZbA...yX...../0b....|...2Q.5R.......C.. 5.N.@.........uM1.<.a5'.....|...T...=.<rEt.j{.Z..8...5.*..Y!..S.@.%.v.x.5....5_.*k..x2...D.s.....b..W..jQ..*.d.q.
: : :
: : : 분명히 쟈바통신 패킷갈은데 통 알수가 없습니다.
: : : 이렇한 패킷을 씨 빌더에서 구사하자면 어떻게 해야할지 고수님들의 의견을 듣자고 합니다.
: : :
: : : 그럼 안녕히!!!
|