1

Websockets에 여러 게시물을 이미 읽었으므로 Websockets이 위를 달리고 주문이 보장된다는 사실이 강조 표시됩니다. '웹 소켓'에 익숙하지 않아서, 나는 작은 질문을 가지고있다.WebSockets : 비공개 채널에서 시작된 비공개 채널에서 발생한 여러 이벤트가 클라이언트에서 순서없이 도착할 수 있습니까?

websocket 연결을 통해 큰 파일 (1GB)을 보내려고하는 간단한 응용 프로그램이 있습니다. 나는 rails gem을 서버 측에 websocket-rails, 프런트 엔드에 클라이언트 java script으로 사용하고 있습니다.

나는 이벤트가 발생하고 날짜가 차례로 전송되는 비공개 채널을 만들었습니다. 동일한 웹 소켓 연결의 일부로 동일한 채널을 통해 500 lines' at a time from 서버를 클라이언트로 전송합니다. 패킷이 다른 순서로 도착할 가능성이 있습니까? 클라이언트 측의 전체 파일 re-order에 대한 메커니즘을 구현해야합니까?

+0

아니요, 당신은 그 순서가 유지 될 것이라고 믿을 수 있습니다, 나는 결코 빠른 버스트에서도 질서를 보지 못했습니다 ... – dandavis

답변

1

웹 소켓에는 "이벤트"또는 "채널"이 없습니다. 메시지는 하나 또는 여러 개의 프레임으로 전송됩니다. 메시지 내의 메시지 및 프레임 내의 순서는 동일하게 유지된다. 즉, 재정렬이 행해지 지 않고 다른 메시지와 인터리빙 (제어 프레임이 인터리빙) 할 수 없다.

이것이 웹 사이트 상단에서 사용하는 특정 라이브러리의 기능 일 수 있으므로 "개인 채널"및 "이벤트"로 변환되는 방식을 알 수 없습니다.

+0

당신은 맞습니다 .. 나는'gem websocket-rails'을 사용하고 있습니다. –