|
상황이 조금 틀리겠지만, 저도 비슷한 경우를 필요로 한적이 있는데요.
일단, 제 경우로는 클라이언트쪽에서 어떻게 하더라도 서버쪽에서 Session을 종료시키더군요. 한 5분정도면 그 해당 포트도 소멸되고요.
웹 서버 데몬이 Apache 였는데, PHP로 해당 HTML 을 처리를 끝내고, Flush 시킨다음, 루프를 돌려버렸습니다. 그러니 원하는 값을 얻을 수 있었네요.
그리고, Apache 같은 경우에는 소스코드를 고치지 않는한 255명이 최대 접속자입니다. 그리고 그 소스를 고쳐서 작업하더라도, 그 부하는 정말 큽니다.
결국, 구도를 바꾸는 작업을 번복하였는데, 제 생각으로는 WEB 서버의 지속적인 연결은 별로 좋지는 않은것 같습니다. 루프를 돌리는 도중이라도 Flush를 계속 시켜주어야 하니, 그만큼 부하가 걸립니다. 제 생각으로는 지속적인 연결이라면 일반 소켓통신이 더 좋지 않을까 싶네요.
성철경 님이 쓰신 글 :
:
: 원래.. web server가 .client의 요청에 응답하고 나면. 그 client를 끊어버리지 않습니까?
: 그래서 말인데요.
: 그기 wininet의 InternetReadFile 이 api
: 는 server가 data를 보내고. clinet의 connetion을 close하지 않으면.
: 계속 기다리고 있더란 말입니다.
: 방화벽이 있는 곳을 통과하기 위해. HTTP 를 이용해서.
: server와 연결하고 싶은데.
: 이 wininet의 api를 쓰니.
: InternetReadFile에서는..
: Server에서 close 하기 까지 기다립디다.
: 일반 Server에서는..
: 사용자의 session관리를 해야하니.
: 끊어면 안되지 않습니까.
: 그래서 말인디요.
: 이거... Server에서 client의 접속유지를 하면서
: wininet api를 쓸 수 있는 방법이 없을까유?
: 그기 api의 옵션중에 그러한 것이 있습니까요? 제가 잘못 쓴건지,
: 울트라. 고수님의 조언 부탁합니다.
:
:
|