我按照net tuts 教程使用套接字和节点构建了一个简单的聊天应用程序,现在我正在尝试扩展该应用程序以允许人们玩我编写的游戏,所以我想让人们列出可用的游戏,但我似乎无法将一个简单的测试数组从服务器传递到客户端。
我会让代码自己说话:
相关服务器代码:
var games = ["test"];
io.sockets.on('connection', function (socket) {
socket.emit('message', { message: 'welcome to the chat' });
socket.on('gameList', function (data) {
io.sockets.emit("games",games);
});
socket.on('send', function (data) {
io.sockets.emit('message', data);
});
});
客户端:
window.games = [];
$("#listGames").click(function(){
socket.emit("gameList", function(data){
window.games = data;
})
})
所以我在按钮单击之前和之后 console.log 游戏,它总是一个空数组,在我的脑海中,它应该包含字符串"test"
。
那么我哪里做错了?
注意: 将 jQuery 添加到代码库中,即使本教程错过了它。