WebSocket과 Web에서의 Javascript를 통한 바이너리 데이터 통신

크아! 제목 한번 요상합니다. JavaScript가 클라이언트 뿐만 아니라 Java나 서버단(Node.js 등)에서도 활용되다 보니… 여튼, WebSoket과 웹에서의 Javascript를 통한 통신의 예로 Binary 데이터 타입을 주고 받는 코드를 정리합니다. 이 글은 텍스트 타입의 데이터를 주고 받는 [jetty를 이용한 WebSocket 서버 구현하기]라는 글을 기반으로 작성된 글입니다.

WebSocket을 위한 서버는 jetty를 활용하였습니다. 먼저 클라이언트가 서버 단에 바이너리 데이터가를 전달하는 코드는 다음과 같습니다.

8 Bytes 크기의 데이터 덩어리를 만들고, 이 덩어리 안에 Int와 Float 타입에 대한 값으로 각각 9438과 3224.3224를 넣어서 웹소켓으로 전송하는 코드입니다. 이렇게 전송하면 서버가 받아야 하는데, 아래의 코드는 서버 측의 코드입니다.

10번과 11번에서 클라이언트가 보낸 int와 float 값을 읽고, 엄청나게 복잡한 연산인 곱의 결과 값을 16번 코드에서 클라이언트로 전달하고 있는 코드입니다. 이제 아래는 다시 클라이언트가 서버가 계산한 소중한 결과를 받는 코드입니다.

서버로부터 받는 바이너리 데이터는 blob 형식으로 받습니다. 이 데이터는 FileReader를 통해 읽어 해석할 수 있습니다. 이상으로 웹소켓에서 바이너리 데이터를 주고 받는 코드에 대한 글을 정리한 글이였습니다.

[스크래치 v3] ‘형태(Looks)’ 블럭

블럭 기능
스프라이트에 지정된 문장을 말 풍선으로 주어진 시간 동안 표시합니다.
스프라이트에 지정된 문장을 말 풍선으로 표시합니다.
스프라이트에 지정된 문장을 생각 풍선으로 주어진 시간 동안 표시합니다.
스프라이트에 지정된 문장을 생각 풍선으로 표시합니다.
스프라이트의 모양을 변경합니다. 하나의 스프라이트는 여러 개의 모양을 가질 수 있습니다.
스프라이트의 모양을 다음 순서의 모양으로 변경합니다. 하나의 스프라이트는 여러 개의 모양을 순차적으로 가질 수 있습니다.
배경(Stage)을 변경합니다. 변경할 수 있는 방법은 배경을 직접 선택하거나, 다음 배경 또는 이전 배경을 선택할 수 있습니다. 또한 배경을 임의 배경으로도 변경할 수 있습니다.
배경은 순차적으로 여러 개를 가질 수 있는데, 현재의 배경을 다음 배경으로 변경합니다.
스프라이트의 크기를 현재 크기를 기준으로 주어진 값(% 단위)만큼 변경합니다.
스프라이트의 크기를 백분율로 지정합니다.
스프라이트에 대해서 선택된 효과를 현재의 값을 기준으로 주어진 값만큼 변경합니다. 선택할 수 있는 효과에는 색깔, 어안 렌즈, 소용돌이, 픽셀화, 모자이크, 밝기, 투명도가 있습니다.
스프라이트에 대해서 선택된 효과를 지정된 값으로 변경합니다. 선택할 수 있는 효과에는 색깔, 어안 렌즈, 소용돌이, 픽셀화, 모자이크, 밝기, 투명도가 있습니다.
스프라이트에 대해 적용된 효과를 제거하여 처음 상태로 만듭니다.
스프라이트를 무대에서 보이게 합니다.
스프라이트를 무대에서 안보이게 합니다.
모든 스프라이트는 각각 자신만의 그려지는 순서가 있습니다. 이러한 그리기 순서를 변경합니다. 변경할 수 있는 값은 앞쪽, 뒤쪽으로 한단계씩 변경할 수 있는 블럭입니다.
모든 스프라이트는 각각 자신만의 그려지는 순서가 있습니다. 이러한 그리기 순서를 원하는 단계수만큼 변경할 수 있는 블럭입니다.
스프라이트 모양에 대한 상태값으로써, 번호 또는 이름을 얻을 수 있는 블럭입니다.
배경에 대한 상태값으로써, 번호 또는 이름을 얻을 수 있는 블럭입니다.
현재 블럭의 크기 값입니다. 단위는 퍼센트(%)입니다.