nodejs棋牌源代码怎么写

JavaScript016

nodejs棋牌源代码怎么写,第1张

1、首先,nodejs棋牌是一款网页在线对战游戏,其源代码与普通程序的源代码不同。

2、其次,用cd命令转到功能包目录中包含源代码的目录。

3、最后,并创建helloworldnodepp的文件,用gedit编辑器进行编写即可。

一、编写Node.js原生扩展

Node.js是一个强大的平台,理想状态下一切都都可以用javascript写成。然而,你可能还会用到许多遗留的库和系统,这样的话使用c++编写Node.JS扩展会是一个不错的注意。

以下所有例子的源代码可在node扩展示例中找到 。

编写Node.js C + +扩展很大程度上就像是写V8的扩展; Node.js增加了一些接口,但大部分时间你都是在使原始的V8数据类型和方法,为了理解以下的代码,你必须首先阅读V8引擎嵌入指南。

Javascript版本的Hello World

在讲解C++版本的例子之前,先让我们来看看在Node.js中用Javascript编写的等价模块是什么样子。这是一个最简单的Hello World,也不是通过HTTP,但它展示了node模块的结构,而其接口也和大多数C++扩展要提供的接口差不多:

HelloWorldJs = function() {

this.m_count = 0

}

HelloWorldJs.prototype.hello = function()

{

this.m_count++

return “Hello World”

}

exports.HelloWorldJs = HelloWorldJs

正如你所看到的,它使用prototype为HelloWorldJs类创建了一个新的方法。请注意,上述代码通过将HelloWorldJS添加到exports变量来暴露构造函数。

要在其他地方使用该模块,请使用如下代码:

var helloworld = require(‘helloworld_js’)

var hi = new helloworld.HelloWorldJs()

console.log(hi.hello())// prints “Hello World” to stdout

C++版本的Hello World

要开始编写C++扩展,首先要能够编译Node.js(请注意,我们使用的是Node.js 2.0版本)。本文所讲内容应该兼容所有未来的0.2.x版本。一旦编译安装完node,编译模块就不在需要额外的东西了。

完整的源代码可以在这里找到 。在使用Node.js或V8之前,我们需要包括相关的头文件:

#include <v8.h>

#include <node.h>

using namespace node

using namespace v8

在本例子中我直接使用了V8和node的命名空间,使代码更易于阅读。虽然这种用法和谷歌的自己的C++编程风格指南相悖,但由于你需要不停的使用V8定义的类型,所以目前为止的大多数node的扩展仍然使用了V8的命名空间。

接下来,声明HelloWorld类。它继承自node::ObjectWrap类 ,这个类提供了几个如引用计数、在V8内部传递contex等的实用功能。一般来说,所有对象应该继承ObjectWrap:

class HelloWorld: ObjectWrap

{

private:

int m_count

public:

声明类之后,我们定义了一个静态成员函数,用来初始化对象并将其导入Node.js提供的target对象中。设个函数基本上是告诉Node.js和V8你的类是如何创建的,和它将包含什么方法:

创建 Node.js 应用

本地创建 Web 应用 app.js,具体代码如下:

var express = require("express")

var app = express()

var path = require("path")

app.get('/',function(req,res){

res.sendFile(path.join(__dirname+'/index.html'))

})

app.listen(80)

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

本地创建描述该应用的 package.json,该文件定义了应用所需要的各种模块和配置信息。具体代码如下:

{

"name": "node-demo",

"version": "0.0.1",

"private": true,

"dependencies": {

"express": "^4.11.0"

}

}

本地创建 index.html,作为 Web 应用的入口页面,具体代码如下:

Hello Friends, Welcome to c.163.com !

创建 Dockerfile

本地创建 Dockerfile,具体代码如下:

FROM hub.c.163.com/nce2/nodejs:0.12.2

COPY . /srv/www

WORKDIR /srv/www

RUN cnpm install -d

CMD ["node", "app.js"]

提交代码

将 app.js、package.json index.html 和 Dockerfile 共四个文件上传至你的 Github创建集群

1. 登录蜂巢控制台;

2. 点击左侧导航菜单的「集群管理」;

3. 点击集群列表左上角的「创建集群」按钮;

4. 基础镜像选择官方镜像中的 「nodejs」;

5. 源码管理中输入 Node.js 代码的 Git 地址。本示例中的 Git 地址详情请参见 Node.js 应用;

6. Dockerfile 中选择「自定义」,输入 Dockerfile 的路径;

7. 选择「使用」负载均衡;

8. 开始创建集群。

部署完毕

创建成功后,可在集群管理列表查看公网 IP 以及运行状态: