私は自分のGoogle firebaseのproyectに機能フォルダに置かindex.jsファイルに次のコードを持っている:私は、コマンドプロンプトで\gfp1>firebase deploy
を実行するとsocket.ioをGoogle Firebaseアプリの機能に接続するにはどうすればいいですか?
net=require('express')()
net.get('/',function(req,res){res.sendFile(__dirname+'/slave.htm')})
exports.run=require('firebase-functions').https.onRequest(net)
require('socket.io').listen(net).on("connection",function(socket){})
はしかし、これは私を与えることでエラー:
You are trying to attach socket.io to an express request handler function. Please, pass a http.Server instance.
はい、私は合格し、次のコードでHTTP Serverインスタンス:
net=require('firebase-functions').https.onRequest((req,res)=>{res.send("socket.io working!")})
exports.run=net;require('socket.io').listen(net).on("connection",function(socket){})
は、それが再び次のエラーが私を与える:
You are trying to attach socket.io to an express request handler function. Please, pass a http.Server instance.
そして、私はそのコードでfirebase機能にsocket.ioを装着してみてください。
net=https.onRequest((req,res)=>{res.send("socket.io working!")})
exports.run=require('firebase-functions').net
require('socket.io').listen(require('firebase-functions').net).on("connection",function(socket){})
そして、それは、このエラーを与える:
https is not defined
私はローカルホストでこのコードを実行すると:
app=require('express')()
app.get('/',function(req,res){res.sendFile(__dirname+'/slave.htm')})
net=require('http').createServer(app);net.listen(8888,function(){console.log("Server listening.")})
require('socket.io').listen(net).on("connection",function(socket){})
コンソールemmit \gfp>Server listening.
、と私はhttp://127.0.0.1:8888
をURLに行くとき、それは私が予想通り、ナビゲーターにhtmlファイルを送信する作品:
<script>
document.write("File system working!")
document.body.style.backgroundColor="black"
document.body.style.color="white"
</script>
しかし、私はnet=exports.run=require('firebase-functions').https.onRequest((req,res)=>{res.send("Firebase working!")})
にnet=require('http').createServer(app);net.listen(8888,function(){console.log("Server listening.")})
を変換しようとすると問題が発生し、不可能であると思われます。
申し訳ありませんが、私はリアルタイムデータベースを使用する方法を疑問に思う新しい質問を書く必要がありますか? – Cronex
おそらくドキュメントを読んで、まず自分で何かを実装したいと思うでしょう。スタックオーバーフローは、幅広く自由な質問には適していません。 –