gpt4 book ai didi

socket.io - 测试安装所需的简单示例

转载 作者:行者123 更新时间:2023-12-02 04:04:06 25 4
gpt4 key购买 nike

我在 VPS 上运行 LAMP 服务器,并且刚刚在其上安装了 socket.IO(节点 0.6.6,因为 npm 拒绝在 0.7.0-pre 上安装)。
现在,我想用一个简单的例子来测试我的安装,比如一个简单的聊天应用程序,并从中学习如何在我自己的应用程序中使用它。

然而,这有一些奇怪的地方。似乎有一个著名的 10 行聊天示例,但它已经从开发人员的网站上消失了,尽管有数百次对其的引用和数小时或搜索,但我找不到实际的示例。

隐藏在 http://socket.io 上的页面源中我找到了一个带有昵称的改进版本的屏幕截图,仍然在 10 行中,但遗憾的是仍然没有代码示例,它也不公开。 http://howtonode.org/websockets-socketio 上的最后一个示例看起来已经很像了,但是可惜没有匹配的服务器端脚本或 html 页面来嵌入它。

有谁知道这是怎么回事?任何人都可以提供一个工作小示例(聊天或多人游戏)来演示适用于当前版本的 socket.IO 的基础知识吗?

编辑:从 socket.io 网站上的示例中,我假设我需要“广播”,但我完全不清楚如何从中构建一个有效的聊天应用程序(即使他们声称它只有 10 行)。 :/

最佳答案

首先,您需要为此安装 express,让生活更轻松:)
npm install expressnpm -g install express如果您在全局范围内安装,则安装后通过转到您的工作目录并键入 express sample 创建一个应用程序创建一个名为 sample 的项目.进入示例目录并打开app.js使用您最喜欢的编辑器。

将内容替换为以下内容:

/**
* Module dependencies.
*/
var express = require('express')
, io = require('socket.io')
, routes = require('./routes')

var app = module.exports = express.createServer();

// Configuration
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});

app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});

app.configure('production', function(){
app.use(express.errorHandler());
});

// Routes
app.get('/', routes.index);

//IO Bindings
io.sockets.on('connection',function (client){

client.on('hello', function(data){
//Client sent hello
});

//Add the rest of your event bindings here for client scopes
});

app.listen(8080);
io.listen(app);

console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);

然后你可以修改你的jade,让它在首页吐出下面的html:
<!DOCTYPE html>
<html>
<head>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect(/*defaults to so ip:port*/);
socket.on('connect', function (){
console.log("Connected");
socket.emit('hello', { my: 'world' });
});
</script>
</head>
<body>
Body Here
</body>
</html>

你只需要把它变成你的模板就可以了。
  • 类似:node.js socket.io simple chat
  • 高级:http://fzysqr.com/2011/02/28/nodechat-js-using-node-js-backbone-js-socket-io-and-redis-to-make-a-real-time-chat-app/
  • 关于socket.io - 测试安装所需的简单示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8610286/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com