본문 바로가기

개발자 공개 오픈소스

ASP로 서버 푸쉬 (Server Side Push) 를 구현해보자

서버 푸쉬, 다소 생소할 수도 있지만 채팅이라는 기술은 잘 아실겁니다.


일단 샘플 사이트부터 한번 보시죠 ^^*



채팅화면에서 글을 입력하면 상대방 화면에 즉시 내용이 보여집니다.

서버와 클라이언트가 연결을 유지한채로 데이터 주고받는 형태입니다.


기본적인 HTTP 통신은 클라이언트가 요청을 하면 서버가 넘겨주고 연결이 끊어지게 됩니다.

흔히 홈페이지에서 보고싶은 글을 클릭하면 서버는 그에대한 내용을 보내주고 통신을 종료합니다.



하지만 공개할 소스는 연결을 유지한채로 서버에서 클라이언트로 데이터를 보내는 기술입니다.

뿐만 아니라 서버푸쉬는 웹문서중 변화가 있는 일부분의 데이터만 전달할 수도 있습니다.


서버푸쉬를 구현하기 위해서는 MIME 타입을 multipart 로 설정해야 합니다.


Response.ContentType = "multipart/x-mixed-replace;boundary=MSBOB"


여기서 

x-mixed-replace; 는 서버푸쉬 문서라는 선언이고

boundary는 전달문과 전달문을 구분해주는 구분자입니다.


소스는 몇줄 안되니 그냥 긁어가셔서 테스트해보세요 ㅋㅋ


오늘도 즐코~ 하세용~~ ㅋ


Dim strBoundary : strBoundary = "MSBOB" 

Response.Buffer = False 


Response.ContentType = "multipart/x-mixed-replace;boundary=" & strBoundary 



Sub WriteBoundary() 

Response.Write "--" & strBoundary & vbCrLf 

Response.Write "Content-Type: text/html" & vbCrLf & vbCrLf 

End Sub 


Sub Sleep(tmpSeconds) 

Dim dtmOne,dtmTwo

dtmOne = Now() 


While DateDiff("s",dtmOne,dtmTwo) < tmpSeconds 

dtmTwo = Now() 

Wend 

End Sub 


dim i


for i = 1 to 10

WriteBoundary

response.write "<font size=10>"&i&"</font> :: Response!!!" &vbCrLf

response.write "" &vbCrLf

Response.Write "--" & strBoundary & vbCrLf 

Sleep 1

Next


WriteBoundary

response.write "The End ^^ bye-bye-- "

Response.Write "--" & strBoundary & vbCrLf