我们使用 Socket.io 的 socket.emit 和 socket.on 方法来管理聊天室消息。
var io = require('socket.io') // socket.io.js
var sio = io.listen(server);
app.set('socket io', sio);
sio.sockets.on('connection', function (socket) {
socket.on('broadcast-message', function(chatroomIdStr, username, message) {
});
}):
在客户端,我们有:
socket.emit("broadcast-message", chatroomId, username, message);
我们正在使用 Chatscript,并希望使用相同的架构来发送机器人消息。 但是,当在服务器端(app.js)尝试此操作时:
var socketbot = io.connect('localhost')
socketbot.emit("broadcast-message", chatroomId, username, message);
我们得到:
TypeError: Object # has no method 'connect'
对此有什么想法吗?
最佳答案
我正在研究类似的东西,并且相信答案是您需要在 Nodejs 机器人中使用“socket.io-client”而不是“socket.io”。
“npm install socket.io-client”给了我一些可以使用的东西,但我仍在调试机器人客户端应该是什么样子。
关于node.js 为机器人聊天创建 'server side socket' (聊天脚本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21048929/