HTTPListener 클래스를 사용하여 기본 웹 서버를 구현하고 있습니다. 내 응답은 "multipart/x-mixed-replace"의 Content-Type을 사용하여 JPEG 이미지 스트림을 반환합니다. 응답을 올바르게 구성 할 수 있지만 웹 클라이언트가 응답이 IP 패킷 경계를 넘어 서서 응답을 해석하지 못하기 때문에 제대로 응답을 해석하지 못합니다.HTTPListener 응답 - 패킷 경계를 정의하는 방법
파이썬으로 구현 된 별도의 서버를 사용하여 좋은 작업 사례를 생성 할 수 있습니다. 클라이언트의 HTTP GET 요청에 대한 응답은 다음과 같습니다
packet 1:
HTTP/1.1 200 OK
packet 2:
Server: (myServer)
Date: (the date)
Connection: close
(other header info)
Content-Type: multipart/x-mixed-replace; boundary=myboundary
packet 3:
--myboundary
Content-Length: 1042
Content-Type: image/jpeg
(jpeg data)
실패한 경우
, http-listener에를 사용하여, 모든 것이
packet 1:
HTTP/1.1 200 OK
Server: (myServer)
Date: (the date)
Connection: close
(other header info)
Content-Type: multipart/x-mixed-replace; boundary=myboundary
--myboundary
Content-Length: 1042
Content-Type: image/jpeg
(jpeg data)
그래서 내 질문은 하나의 패킷으로 전송됩니다, 내가 어떻게 할 HTTPListenerResponse의 OutputStream을 조작하여 패킷 경계를 강제 설정 하시겠습니까? 일부 데이터를 지정하고 수동으로 OutputStream에 패킷을 푸시하도록 지시 한 다음 더 많은 데이터를 지정하고 다른 패킷을 푸시 할 수 있기를 원합니다. HTTPListener가이 수준의 컨트롤을 제공합니까, 아니면 대신 TCPListener를 사용해야합니까? 솔루션을 찾을 수 없었습니다. 도와주세요!
답변 해 주셔서 감사합니다. 내 클라이언트로 VLC를 사용하고 있습니다. 패킷 경계에 오류가 발생한 이유는 파이썬 스크립트를 사용하는 좋은 경우에는 동일한 데이터가 VLC에 반환되어 작동하기 때문입니다. 실패한 경우의 유일한 차이점은 패킷 경계입니다. – jimmy31777