Pomelo 0.3版正式发布 Nodejs相关

Pomelo 0.3版正式发布 Nodejs相关

Pomelo 0.3版为移动端性能优化做了很多工作, 新协议的数据包压缩后的传输量仅为0.2版的20%, 并保留了0.2版基于socket.io的传输协议。socket.io对开发浏览器端器端的实时应用非常适合,而socket(websocket)、protobuf、二进制等协议则对移动端、桌面客户端的开发更具优势。pomelo对它们的同时支持使同时支持浏览器、移动、桌面客户端的高实时应用或游戏变得非常容易。

服务器的动态扩展是另一个重要的特性, 这不仅使系统适应了弹性的工作环境,也为游戏的一些动态功能提供了更多方便, 如MMORPG游戏的动态副本等。

0.3版还提供了其它很多特性,如新的广播接口, 新的客户端支持等。

相关文档: pomelo 0.3版新特性 pomelo 0.2到0.3版升级指南


8 回复

Pomelo 0.3版正式发布 Nodejs相关

Pomelo 0.3版正式发布了!此次更新为移动端性能优化做出了许多改进,并且保留了基于socket.io的传输协议。以下是本次更新的主要亮点:

性能优化与数据包压缩

Pomelo 0.3版在移动端性能方面进行了大量优化,新协议的数据包压缩后传输量仅为0.2版的20%。这使得移动端、桌面客户端以及浏览器端的实时应用或游戏能够更加高效地运行。

// 示例代码:使用Pomelo进行数据压缩和传输
const pomelo = require('pomelo');
const zlib = require('zlib');

// 压缩数据
function compressData(data) {
    return new Promise((resolve, reject) => {
        zlib.deflate(data, (err, result) => {
            if (err) {
                reject(err);
            } else {
                resolve(result);
            }
        });
    });
}

// 发送压缩后的数据
async function sendData(socket, data) {
    const compressedData = await compressData(data);
    socket.emit('data', compressedData);
}

多平台支持

Pomelo支持多种协议,包括socket(WebSocket)、protobuf、二进制等,这些协议不仅适用于移动端和桌面客户端,也适用于浏览器端的实时应用。通过Pomelo的支持,开发者可以轻松地构建跨平台的实时应用或游戏。

// 示例代码:使用WebSocket协议连接到服务器
const WebSocket = require('ws');
const ws = new WebSocket('ws://localhost:3000');

ws.on('open', () => {
    console.log('Connected to server');
});

ws.on('message', (data) => {
    console.log('Received:', data);
});

动态扩展与新特性

Pomelo 0.3版还引入了服务器动态扩展的功能,这使得系统能够更好地适应弹性的工作环境。例如,在MMORPG游戏中,动态副本等功能变得更加容易实现。

此外,0.3版还提供了一些新特性,如新的广播接口和客户端支持。这些新特性为开发者提供了更多的灵活性和便利性。

相关文档

为了帮助你更好地了解和使用Pomelo 0.3版的新特性,我们提供了以下文档链接:

希望以上信息对你有所帮助,如果你有任何问题或建议,欢迎随时联系我们!


不错 加油 希望尽快出支持socket的iOS客户端

我客户端是c++,下下来一看,怎么还有个web-server,难道我c++客户端就不能用这个框架了?

可以用, web-server是向导init生成的默认目录。可以不用管他

可耻地表示对于 Component 怎样开发调试相当关心, 楼主能分享点不?

算了,还是先不更新了

pomelo新特性真是NB啊!强烈支持……

Pomelo 0.3 版正式发布了,此次更新特别针对移动端进行了性能优化。新协议的数据包在压缩后,传输量仅相当于 0.2 版本的 20%。这一版本依然保留了基于 socket.io 的传输协议,这使得浏览器端的实时应用开发更加便捷。

对于移动端和桌面客户端的开发,Pomelo 支持 socket(WebSocket)、protobuf、二进制等协议,这些协议相比 socket.io 更加高效,特别适合移动端和桌面客户端的实时通信需求。这种多协议的支持使得开发者可以轻松实现跨平台的高实时性应用或游戏。

另外,服务器的动态扩展功能也得到了加强,这不仅让系统能够更好地应对弹性的工作环境,还为某些游戏功能(如 MMORPG 游戏中的动态副本)提供了便利。

示例代码

这里提供一个简单的 Pomelo 客户端连接和服务端处理的例子:

服务端代码(app.js

var pomelo = require('pomelo');

pomelo.init({
    port: 3014,
    host: 'localhost'
}, function () {
    pomelo.start(function (err, server) {
        if (err) {
            console.error('Failed to start server.');
            return;
        }
        console.log('Server started on %s:%d.', this.app.get('host'), this.app.get('port'));
    });
});

客户端代码(client.js

var io = require('socket.io-client');
var socket = io.connect('http://localhost:3014', { transports: ['websocket'] });

socket.on('connect', function () {
    console.log('Connected to the server.');
});

socket.emit('hello', { message: 'Hello, server!' });

socket.on('welcome', function (data) {
    console.log(data.message);
});

上述代码展示了如何使用 Pomelo 进行简单的客户端与服务端通信。客户端通过 WebSocket 协议连接到服务端,并发送一条消息,服务端接收到消息后会返回一条欢迎信息。

回到顶部