[原]pomelo开发环境搭建
pomelo基于nodejs服务器开源框架,比较牛逼的!
1、安装nodejs(官网下载地址) 安装python等 具体见官网说明
2、安装pomelo(见官方步骤)或者 http://blog.csdn.net/wangqiuyun/article/details/9243263
3、demo无法运行说明,1.1.1版创建出的demo浏览器点start server无响应,用firebug发现报“ReferenceError: Buffer is not defined” 这是bug解决办法 我不会用 所以我不用浏览器测试,采用非浏览器测试 (不过这说明你的环境配置成功了)
4、自己编译libpomelo库
(1)下载gyp 命令行:git clone https://github.com/martine/gyp.git 没有安装git的童鞋 可以直接下zip
进入gyp目录 命令行 执行 setup.py install 安装gyp
(2)下载libpomelo 命令行:git clone https://github.com/NetEase/libpomelo.git 或者 下载zip
使用gyp创建 libpomelo工程。 cmd 到 gyp根目录 执行 gyp.bat --depth=. libpomelo根路径/pomelo.gyp -Dlibrary=static_library -DTO=pc

成功之后就会在libpomelo下创建出vs工程:

(3)编译libpomelo静态库
打开以上工程,选则整个解决方案,生成解决方案 就会编译出静态库 jansson.lib libpomelo.lib libuv.lib
(4)如何使用libpomelo.lib
创建C++ win32工程,引用静态库
A、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。
B、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。
C 然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名。
说明:libpomelo没有提完整的头文件路径 libpomelo\include只包含libpomelo自身的 jansson libuv 头文件需要去\libpomelo\deps下查找
最终的include文件如图:
(5)libuv.lib库运行需要 ws2_32.lib IPHLPAPI.lib Psapi.lib 按照“然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名” 添加几个库
(6)运行代码测试:
#ifdef _WIN32
#include <winsock2.h>
#else
#include <unistd.h>
#endif
#include <string.h>
#include <stdlib.h>
#include "pomelo.h" const char *ip = "127.0.0.1";
int port = ; // request callback
void on_request_cb(pc_request_t *req, int status, json_t *resp) {
if(status == -) {
printf("Fail to send request to server.\n");
} else if(status == ) {
char *json_str = json_dumps(resp, );
if(json_str != NULL) {
printf("server response: %s\n", json_str);
free(json_str);
}
} // release relative resource with pc_request_t
json_t *msg = req->msg;
pc_client_t *client = req->client;
json_decref(msg);
pc_request_destroy(req); pc_client_stop(client);
} void do_request(pc_client_t *client) {
// compose request
const char *route = "connector.entryHandler.entry"; //改成默认web-server的设置
json_t *msg = json_object();
json_t *str = json_string("hi~");
json_object_set(msg, "msg", str);
// decref for json object
json_decref(str); pc_request_t *request = pc_request_new();
pc_request(client, request, route, msg, on_request_cb);
} // disconnect event callback.
void on_close(pc_client_t *client, const char *event, void *data) {
printf("client closed: %d.\n", client->state);
} int main() {
// create a client instance.
pc_client_t *client = pc_client_new(); struct sockaddr_in address; memset(&address, , sizeof(struct sockaddr_in));
address.sin_family = AF_INET;
address.sin_port = htons(port);
address.sin_addr.s_addr = inet_addr(ip); // add some event callback.
pc_add_listener(client, PC_EVENT_DISCONNECT, on_close); // try to connect to server.
if(pc_client_connect(client, &address)) {
printf("fail to connect server.\n");
pc_client_destroy(client);
return ;
} do_request(client); // main thread has nothing to do and wait until child thread return.
pc_client_join(client); // release the client
pc_client_destroy(client); return ;
}
成功后的提示 :
[原]pomelo开发环境搭建的更多相关文章
- pomelo 开发环境搭建
开发前提条件: Windows系统,请确保你的Windows系统包括源代码编译工具.Node.js的源代码主要由C++代码和JavaScript代码构成,可是却用gyp工具来做源代码的项目管理,该工 ...
- [原]Android开发环境搭建
[Date]2014-04-20 [Author]wintys (wintys@gmail.com) http://wintys.cnblogs.com [Keywords]android . 离线a ...
- [zz] pomelo windows 环境下开发环境搭建
原文链接:http://nodejs.netease.com/topic/515279a0b5a2705b5a000983 本文主要介绍下 windows 下跑通 pomelo 简单例子的过程 开发前 ...
- (转)PhoneGap开发环境搭建
(原)http://www.cnblogs.com/Random/archive/2011/12/28/2305398.html PhoneGap开发环境搭建 项目中要用PhoneGap开发,了解 ...
- (转)phoneGap-Android开发环境搭建
(原)http://www.cnblogs.com/shawn-xie/archive/2012/08/15/2638480.html phoneGap-Android开发环境搭建 一.安装 在安 ...
- Hadoop项目开发环境搭建(Eclipse\MyEclipse + Maven)
写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Mav ...
- 【JAVA零基础入门系列】Day1 开发环境搭建
[JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day ...
- JDK开发环境搭建及环境变量配置
Java配置----JDK开发环境搭建及环境变量配置 1. 下载安装安装JDK开发环境 http://www.oracle.com/technetwork/java/javase/downloads/ ...
- Redis学习系列二之.Net开发环境搭建及基础数据结构String字符串
一.简介 Redis有5种基本数据结构,分别是string.list(列表).hash(字典).set(集合).zset(有序集合),这是必须掌握的5种基本数据结构.注意Redis作为一个键值对缓存系 ...
随机推荐
- DataTable 行删除
今天在阅读一个项目中的代码时,发现删除DataTable的数据时用的dataTable.Clear(); 由于以前自己习惯都是用dataTable.Rows.Clear();因此突然感觉到很茫然,难道 ...
- PCL中可用的PointT类型
PCL中可用的PointT类型: PointXYZ——成员变量:float x,y,z; PointXYZ是使用最常见的一个点数据类型,因为他之包含三维XYZ坐标信息,这三个浮点数附加一个浮点数来满足 ...
- JAVA :Jpanel 控件 无法显示问题
http://blog.csdn.net/gcangle/article/details/8222005 ——————————————————————————————————————————————— ...
- node学习笔记7——npm安装包
npm:Nodejs Package Manager(Nodejs包管理器).它有什么作用呢? 1.包统一下载途径: 2.自动下载依赖. 如何安装呢? 命令:npm install *** 比如我们要 ...
- Java设计模式(7)装饰模式(Decorator模式)
Decorator常被翻译成"装饰",我觉得翻译成"油漆工"更形象点,油漆工(decorator)是用来刷油漆的,那么被刷油漆的对象我们称decoratee.这 ...
- linux下安装jre运行环境
上官网下载安装文件:点击打开链接 文件名:jre-8u65-linux-x64.gz安装步骤1.解压tar -xzvf jre-8u65-linux-x64.gz2.将解压后的文件放到/usr/lib ...
- Window环境下搭建android NDK开发环境
1.下载ndk和cygwin NDK 下载地址:http://developer.android.com/tools/sdk/ndk/index.html Cygwin 下载地址:http://cyg ...
- ubuntu lapack安装与使用
https://blog.csdn.net/zouyu1746430162/article/details/53374693 https://blog.csdn.net/mlnotes/article ...
- webdriver 执行完毕关闭chromedriver进程
RT 背景:一个网站的登录部分用到了selenium,但是在多次登录之后,发现进程里残留了很多的chromedriver.exe进程.项目打成jar包之后放到另外的机器上跑,发现不久之后就开始卡顿,甚 ...
- SciTE配置信息
超强文本编辑器SciTE配置方法详细实例 转载 2006年12月28日 17:07:00 标签: 文本编辑 / 文档 / 语言 / html / python / api 32800 关于scite文 ...