easyrtcでsocket.ioを使用して、P2Pビデオチャットを行っています。例の作業は、次のパッケージバージョンとhttps://github.com/merictaze/enlargifyバージョン(EasyRTC)を更新した後、クライアントのソケットIOソケットIDが異なる
"express": "^4.15.2",
"easyrtc": "1.0.x", // [email protected]
"socket.io": "^1.4.5"
で使用easyrtcロジックは、私が1.1にeasyrtcバージョンをつり上げる場合のコードは動作を停止し、しかしhttps://github.com/merictaze/enlargify/blob/master/public/resources/js/app.js
です。私はベータブランチを試みました。
"express": "^4.15.2",
"easyrtc": "priologic/easyrtc#beta",
"socket.io": "^1.4.5"
私はさらに調査に私はそれがこの呼び出しで失敗したことがわかったので、これは、あまり役立っていない知っている
easyrtc.call(self.partnerId, successCB, failureCB, acceptedCB);
failureCBからのエラーコードは
MSG_REJECT_TARGET_EASYRTCID
サーバー側ではログには
2017-12-07T07:02:40.477Z - debug - EasyRTC: [enlargify_app][fNhseVCWzi8XXhn5] EasyRTC command received with msgType [offer] undefined
2017-12-07T07:02:40.478Z - warning - EasyRTC: Attempt to request non-existent connection key: '0xv7UpIAlVeAzEedAAAA' undefined
2017-12-07T07:02:40.479Z - warning - EasyRTC: [enlargify_app][fNhseVCWzi8XXhn5] Could not send WebRTC signal to client [0xv7UpIAlVeAzEedAAAA]. They may no longer be online. undefined
それはデモで同じようしかし、バックpackage.jsonでeasyrtcバージョンを元に戻すことは、ここで働くhttp://enlargify.herokuapp.com/
ため、私はベータ版ブランチのサファリのサポートのeasyrtcバージョンを更新したいと思います。私はデモがスムーズに動作していることを発見しました。
ps。私は、更新にsocket.ioバージョンを行なったし、非推奨の呼び出しを更新例えば
partnerSocket = io.sockets.socket(socket.partnerId);
partnerSocket.emit("disconnect_partner", socket.id);
io.to(socket.partnerId).emit("disconnect_partner", socket.id);
へのさらなる調査は、クライアント側で生成socket.idは、サーバー上のものとは異なることを示しています。それで、2人の同輩が接続できない理由です。
どのように私は成功の機能を得ることができるeasyrtc.connect正しいsocketIDを返すために?