타이프 스크립트에서 웹 소켓을 통해 부동 소수점 데이터를받는 방법

그냥 캐딜

문자열과 같은 방식으로 플로트를 쉽게 보내고받을 수있는 방법이 없다는 것을 이해합니다. 그러나 다음과 같이 내 웹 소켓을 설정하면 :

ws = new WebSocket(address);
ws.binaryType = 'blob';

들어오는 바이트 문자열을 수레로 변환 할 수 있어야합니다. float를 바이트 스트링으로 변환하고 서버 측으로 보내는 것은 쉽습니다.

제가 답을 찾을 수있는 가장 가까운 것은 이것 입니다. 그러나 나는 그것이 e.target.result정의되지 않았다는 것을 알았습니다 . 을 사용해 보았지만 e.target컴파일러에서 수정 방법을 알아낼 수없는 유형 오류가 발생했습니다.

같은 질문도있다 수레에 UINT 배열을 변환합니다. 근데 이런 게 있으면

ws.onmessage = function(event){
  //do something with event.data
}

여기에있는event.data 것과 같은 문자열이 아닐 때 작업하는 방법을 이해해야합니다 .

그냥 캐딜

적응 후 이 답변 하고 이 답변을 , 나는 다음과 같은 해결책을 마련했습니다 :

//open the socket and set the data type to blob
let socket = new WebSocket(address);
socket.binaryType = 'blob';

//we will store 6 positions at a time
let positions = new Float32Array(18);

//helpers
let buffer = new ArrayBuffer(4);
let view = new DataView(buffer);

//say hello
socket.onopen = function(){
  socket.send('Hello');
};

//keep track of where we are in the position array
let posIndex = 0;

socket.onmessage = function(msg){
  //convert message to Uint8 array
  let bitArray = new Uint8Array(msg.data);
  for(let i = 0; i < 3; i++){
    for(let j = 0; j < 4; j++){
      //set the elements of the DataView equal to the bytes
      view.setUint8(j, bitArray[4*i + j]);
    }

    //update the positions
    if(posIndex < 5){
      positions[3*posIndex + i] = view.getFloat32(0);
      posIndex++;
    }
    else positions[15 + i] = view.getFloat32(0);
  }

  //this should log the positions as they come in
  paragraph.innerHTML = paragraph.innerHTML + ",("
                      + positions[posIndex] + ","
                      + positions[posIndex + 1] + ","
                      + positions[posIndex + 2] + ")";

  //the server won't send another position until it hears from the client
  socket.send('r');
};

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

aiohttp 요청 처리기에서 클라이언트 웹 소켓을 통해 데이터를 보내는 방법

iOS에서 소켓을 통해 서버에서 데이터를받는 방법은 무엇입니까?

웹 소켓 연결을 통해 데이터를 보내는 데 선호되는 방법이 있습니까?

소켓을 여는 파이썬 스크립트, 소켓을 통해 데이터를 보내는 스크립트

웹 오디오 API : 소켓을 통해 nodejs 서버에서 데이터 청크를 재생하는 적절한 방법

Python 소켓을 통해 튜플 데이터 (서명)를 보내는 방법

동일한 UDP 소켓을 통해 동시에 데이터를주고받을 수 있습니까?

Tornado-웹 소켓을 통해 동시에 여러 클라이언트 듣기

이동 중에 동일한 웹 소켓을 통해 여러 번 읽고 쓰기

요청에 대한 응답으로 Spring을 사용하여 반응 형 웹 소켓을 통해 데이터를 푸시하는 방법은 무엇입니까?

Android 애플리케이션에서 UPD 소켓을 통해 데이터를 수신하는 방법

웹 소켓에서 수신 및 전송 방법의 차이점

웹 소켓(문자열 또는 ArrayBuffer)을 통해 각도 응용 프로그램에서 마이크로 서비스로 데이터를 보내는 효율적인 방법은 무엇입니까?

Python 3에서 네트워크 소켓을 통해 이진 데이터 받기

데이터베이스에 소수점이 0 인 부동 소수점 숫자를 저장하는 방법

IP 주소를 통해 Firefox 확장에서 웹 소켓 클라이언트를 연결하는 방법

쉘 스크립트에서 부동 소수점 수와 비교하는 방법

쉘 스크립트에서 부동 소수점 수와 비교하는 방법

Python UDP 소켓과 동시에 데이터를 보내고받는 방법

Rust에서 유닉스 소켓을 통해 데이터를 보내고 듣는 방법은 무엇입니까?

phoenix 채널을 통해 웹 소켓을 통해 파일을 보내는 방법이 있습니까?

자바 스크립트없이 Apache 서버를 사용하여 PHP에서 간단한 웹 소켓 채팅 응용 프로그램을 만드는 방법

c에서 소켓을 통해 이진 데이터를 보내는 방법은 무엇입니까?

JavaScript - 웹 소켓을 통해 백엔드에 ArrayBuffer 데이터 보내기 [guacamole]

동일한 활동에서 소켓을 통해 데이터 송수신

웹 소켓을 통해 웹 페이지를 MQTT 브로커에 연결

파이썬 케 라스에서 텐서를 통해 부동 소수점 숫자에 대한 엔트로피를 계산하는 방법

서비스 클래스의 Observable을 통해 웹 소켓에서 구성 요소로 데이터 공급

웹 소켓을 통해 amqp를 통해 kubernetes 클러스터 내부에서 Azure IoT 허브에 연결

TOP 리스트

  1. 1

    Ionic 2 로더가 적시에 표시되지 않음

  2. 2

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  3. 3

    std :: regex의 일관성없는 동작

  4. 4

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  5. 5

    java.lang.UnsatisfiedLinkError : 지정된 모듈을 찾을 수 없습니다

  6. 6

    rclone으로 원격 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

  7. 7

    상황에 맞는 메뉴 색상

  8. 8

    SMTPException : 전송 연결에서 데이터를 읽을 수 없음 : net_io_connectionclosed

  9. 9

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  10. 10

    Windows cmd를 통해 Anaconda 환경에서 Python 스크립트 실행

  11. 11

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  12. 12

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  13. 13

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  14. 14

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  15. 15

    복사 / 붙여 넣기 비활성화

  16. 16

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  17. 17

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  18. 18

    SQL Server-현명한 데이터 문제 받기

  19. 19

    Seaborn에서 축 제목 숨기기

  20. 20

    ArrayBufferLike의 typescript 정의의 깊은 의미

  21. 21

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

뜨겁다태그

보관