DataChannelにてデータ送受信が正常に行われない

Comments

2 comments

  • Avatar
    Ibuibu69

    ご記載頂いた処理内容と結果は、正常動作となります。
    以下、理由をご説明致します。

    SkyWayのSDKのDataConnectionにはserializationオプションがあり、そこで送信時のシリアライズ方法を指定します。
    デフォルト値は `BINARY` で、これはBinaryPackを使うことを意味します。

    なお、JS/Android/iOS SDKは、発信側が設定したSerializationの設定に基づいて、データのシリアライズ処理を行います。
    一方、WebRTC Gatewayはシリアライズ処理を行いません。利用者自身が、WebRTC Gatewayを経由してデータを送信する前、および受信した後に独自に処理する必要があります。

    ご記載頂いたケースでは、Gatewayでの送信時にシリアライズ処理を行っていないため、ブラウザ側では1文字目のASCIIコードのみが取得されました。受信時も同様にシリアライズ処理を行っていないため、先頭に不要なデータが存在しております。

    対応としては、送信側のserializationオプションに`NONE`を設定するのがよいかと存じます。
    これにより、ブラウザでは文字列をバイト列として受信でき、Gatewayでの受信データに不要な値が存在することもなくなります。

    0
    Comment actions Permalink
  • Avatar
    中本裕之

    ご回答ありがとうございます。

    ご指摘の通り、オプション serialization:'none' を指定すると、ブラウザとgateway間で正常に通信を行うことが出来ました。

     

    0
    Comment actions Permalink

Please sign in to leave a comment.