p2p通信の認証情報の中に空白文字が入る。
解決したいこと
JavaScriptでゲームを作っています。
マルチプレイで通信を確立する際にエラーが発生しました。
解決方法を教えて下さい。
発生している問題・エラー
(例)
Uncaught DOMException: Failed to execute 'setRemoteDescription' on 'RTCPeerConnection': Failed to set remote answer sdp: Failed to apply the description for m= section with mid='0': Invalid ICE parameters: ICE pwd must contain only alphanumeric characters, '+', and '/'.
該当するソースコード
p.signal(signal);
自分で試したこと
エラーは確認しているだけで2種類出ています。
一つが「 ICE ”pwd” must contain only alphanumeric characters, '+', and '/'.」
もうひとつが「 ICE ”uflag” must contain only alphanumeric characters, '+', and '/'.」
どちらも指示通りに、ICEパラメータを確認したところ、謎の空白が発見されました。
空白は、キーボードで入力できる普通の半額スペースだとわかりました。
これが、エラーの原因なのでしょうか。
また、これはバグなのでしょうか。
それとも、やり方が間違っているのでしょうか。
(ちなみに、スペースってアルファベットじゃないですよね?)
signalに関係する処理はここに書いてあります。
https://ja.stackoverflow.com/questions/75012/simple-peerでp2p通信しようとしたらice-pwdパラメータに謎に空白文字が入る
追記
処理過程(上のurlを参照)で、signalを取得した時点では空白は混入していませんでした。
JSONかfetchかpropertyServiceで何かが起きたと思います。
追記2
"+"が" "に変化していました!
追記3
URIで+と は同じだと教えてもらいました。
fetchのgetで"+"が" "に変化したんだと思います。