2
我剛剛開始使用node.js,並且從我目前可知的情況來看,客戶端與服務器通信的方式是:如何在node.js + socket.io中創建自定義客戶端事件
當「信息」事件收到//Client Code 1
var iosocket = io.connect();
iosocket.on('connect', function() {
iosocket.send("Here's some info");
});
服務器成爲意識到這一點:
//Server Code 1
var socketio = require('socket.io');
var io = socketio.listen(server);
io.sockets.on('connection', function (client) {
client.on('message', function(msg) {
//msg== "Here's some info"
}
});
現在我希望客戶能夠提供幾個不同的事件,如:
//Server Code 2
client.on('buttonClicked', function() { ...
client.on('nameChanged', function(newName) { ...
但我無法弄清楚如何。唯一的解決辦法,我可以想出了使用我的作品是發回的消息,但讓他們包含的信息鍵值對:
//Server Code 3
client.on('message', function(msg) {
kvp = message.split(',');
if(kvp[0] == 'buttonClicked')
...
else if(kvp[0] == 'nameChanged')
...
}
但我敢肯定有這樣做的正確方式我還沒有看到任何例子。我希望有類似服務器如何生成任何情況下它要使用的東西:
//Server Code 4
io.sockets.emit('serverCustomEvent', eventData);
後者又由客戶端監控使用:
//Client Code 4
iosocket.on('serverCustomEvent', function(data) {
//process data
});
有人能指出我在正確的方向?
謝謝,我可以發誓,這是我想的第一件事,但我必須把事情弄糟了。我很難找到一個全面的API。這是我的問題與JavaScript,弱打字很難知道你正在使用什麼對象和谷歌他們。 – Alain
弱打字FTW –