yun2win即时通讯云服务快速接入方法

简介

yun2win向开发者提供一站式通讯云服务。开发者通过下载客户端的SDK和云端API,不必投入开发成本,就可以简单快速的将通讯能力集成到自己的应用中。

我们经过深入的市场研讨和体验反馈发现,信息安全是用户在选择接入开放的通讯云服务时,最重要的标准和最大的顾虑。yun2win采用混合云架构、数据物理隔离方法,数据经由我们开源的云后台,直接传至您自主部署的存储位置,完全不经过yun2win服务器,绝无安全顾虑。

架构介绍

yun2win架构设计主要特点是:

  • 数据服务器开源,由开发者部署控制,yun2win不会收到任何消息数据。
  • App业务服务器、数据服务器可以部署至内网,只要客户端可以访问yun2win服务器,依然可以即时通讯。

由图可知,yun2win绝不收到或拥有开发者应用的任何消息数据。此特点极其适应对消息数据安全敏感的应用情境,如企业内部交流等。

获取AppKey

使用yun2win需要获得一个AppKeyAppSecret,就按以下步骤获取:

  1. 打开注册页面, 输入邮箱地址注册
  2. 注册成功后,打开登录页面,进入控制台
  3. 系统已经为您建立了一个应用,点击打开,在AppKey菜单里即可获得AppKeyAppSecret

提醒

请记下AppKeyAppSecret,后面服务器配置需要用到。

服务端部署

此部分主要是负责即时通讯业务数据的存储,包括:消息,会话,用户关系等。此部分有以下特点:

  • 完全开源
  • 对外接口是RESTful Api
  • 由开发者自行部署,数据安全放心

下载

服务端代码放在github.com开源,请从以下网址下载:

https://github.com/yun2win/yun2win-sdk-server

提醒

代码请下载releases的稳定版本

环境安装

运行此服务硬件需求(建议):

  • CPU:双核
  • 内存:8G
  • 存储:200G
  • 带宽:5M

运行此服务软件需求:

  • 操作系统:centos 5.8+ (建议)
  • 运行环境:nodejs 0.8+
  • 进程管理:pm2
  • 数据库:mysql

1,安装nodejs

在命令行执行命令操作,首先安装依赖库与工具:

复制


yum -y install gcc make gcc-c++ openssl-devel wget
                        

此命令运行需要网络下载对应的程序包。如果服务器无法连网请使用docker部署方案

下载nodejs:

复制


wget http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz
                        

将其解压:

复制


tar -zvxf node-v0.10.26.tar.gz
                            

编译及安装:

复制


cd node-v0.10.26
make && make install
                        

最后验证是否成功:

复制


node -v
                        

如果出现版本信息,则表示已经安装成功了

2,安装pm2

nodejs安装成功后,直接使用:

复制


npm install pm2 -g
                        

等待几秒钟即可,如果有权限问题请使用:

复制


sudo npm install pm2 -g
                        

3,安装mysql

在命令行输入以下指令安装:

复制


yum install -y mysql-server mysql mysql-devel
                        

CentOS 7的yum源中貌似没有正常安装mysql时的mysql-sever文件,需要去官网上下载

复制


wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

rpm -ivh mysql-community-release-el7-5.noarch.rpm

yum -y install mysql-community-server
                        

此命令运行需要网络下载对应的程序包。如果服务器无法连网请使用docker部署方案

安装完成后就启动mysql:

复制


service mysqld start
                        

mysql数据库安装完以后只会有一个root管理员账号,但是此时的root账号还并没有为其设置密码,执行以下命令设定密码:

复制


mysqladmin -u root password ‘【新密码】‘
                        

然后新建数据库yun2win_db,注意注意字符集需要设定为utf-8。下面先登陆mysql:

复制


mysql -u root -p
                        

输入密码,然后执行

复制


CREATE DATABASE yun2win_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
                        

提醒

请记下新密码数据库帐号,和数据库名称yun2win_db,后面服务器配置需要用到。

部署配置

在运行之前先要配置,打开文件 app/config.js

复制


    module.exports={
        //数据库配置
        db:{
            host:"localhost", //默认用本地,如果非本地数据请更改
            database:"{数据库名称}", //如未更改则是yun2win_db
            username:"sa", //数据库帐号
            password:"{数据库密码}",
            dialect:"mysql"
        },
        //客户端配置,用于客户端连接本服务器和通知服务器的信息
        client:{
            appKey:"{appKey}",
            appSerect:"{appSerect}",
            tokenPeriod:24*30 //token有限时间,单位小时
        },
        //会话配置
        session:{
            userConvrKeepAlive:1 //活跃用户会话的时间,单位小时
        },
        //设为true,则启动时会运行基本测试用例,如果测试用例通过则表示部署成功了。
        testing:false
    };

注意,安装好mysql后要新建个数据库。配置完成后,将所有代码复制到服务器的/root/yun2win文件夹上。如果你没权限访问,则可以复制到任一文件夹。 然后命令行执行安装需要的模块:

复制


cd /root/yun2win //如果你更改过目录,这里也要更改
npm install
                        

然后即可启动

复制


pm2 start server.js
                        

启动成功后,可以使用指令pm2 list查看运行情况。

为了让程序能自启动,还要执行:

复制


pm2 save
pm2 startup
                        

到此就部署完成,使用ifconfig查看服务器IP,服务器的网址为http://{服务器IP}:18080

提醒

请记下服务器网址并提供给客户端: http://{服务器IP}:18080

如果需要更改服务器服务端口,请打开server.js

复制


/**
* Module dependencies.
*/

var app = require(‘./app‘);
var debug = require(‘debug‘)(‘web:server‘);
var http = require(‘http‘);

/**
* Get port from environment and store in Express.
*/

//在这里改成您想要的端口,如80
var port = normalizePort(process.env.PORT || ‘18080‘);
app.set(‘port‘, port);

如要把端口改成80:

复制


/**
* Module dependencies.
*/

var app = require(‘./app‘);
var debug = require(‘debug‘)(‘web:server‘);
var http = require(‘http‘);

/**
* Get port from environment and store in Express.
*/

app.set(‘port‘, ‘80‘);

提醒

如果更改了端口,则提供给客户端的地址也要更改: http://{服务器IP}:{新端口}

Docker部署

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用和依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。几乎没有性能开销,可以很容易地在机器和数据中心运行。最重要的是,他们不依赖于任何语言、框架包括系统。

为了更方便让开发者部署,我们也提供了Docker镜像,可以很方便地部署到您想要的环境中。

  1. 安装Docker

    详细安装帮助可参考 :http://udn.yyuap.com/doc/chinese_docker/

  2. 下载镜像文件

    点击下面网址下载:yun2win_v0.3.tar.gz (223.1 MB)

    下载完成请解压缩

  3. 导入镜像

    复制

    
        $ sudo docker load --input yun2win.v0.3.tar
  4. 新建容器启动

    复制

    
        $ sudo docker run -t -i -p 80:80 yun2win/centos:v0.3 /bin/bash
                                

    此容器启动时使用了端口映射,如果当前服务器80被占用,需要更改,如18080,则调整-p 80:80-p 18080:80即可

  5. 此时服务器的地址是:http://{服务器IP}

Web端集成

下载

服务端代码放在github.com开源,请从以下网址下载:

https://github.com/yun2win/yun2win-sdk-web/

环境安装

运行此服务硬件需求(建议):

  • CPU:双核
  • 内存:2G
  • 带宽:5M

运行此服务软件需求:

  • 操作系统:windows, mac, linux

部署配置

在运行之前先要配置,打开文件 js/core/config.js

复制


config.baseUrl = http://{服务器IP}

iOS端集成

此部分为即时通讯iOS客户端SDK,包括:MQTT模块。此部分有以下特点:

  • 框架轻
  • 适合弱网
  • 可对接物联网

下载

服务端代码放在github.com开源,请从以下网址下载:

https://github.com/yun2win/yun2win-sdk-server

提醒

代码请下载releases的稳定版本

环境安装

编译环境:

  • Xcode-Version 7.2.1 (7C1002)及以上

设备环境:

    设备型号

  • iPhone5及以上
    设备系统

  • iOS8.0及以上

部署配置

下载解压后有两个文件夹,Example(示例代码)和Y2W_IM_SDK

  1. 请使用Example文件夹内的API.xcworkspace打开项目
  2. 使用/API/Model/Y2WServiceConfig.m文件中+ (NSString *)domain方法进行服务器地址配置,只需更改地址和端口即可切换服务器
                                    
    
      + (NSString *)domain {
        return @"{服务器IP}"; // 例如: @"http://192.169.0.1:8080/"
      }

Android端集成

下载

客户端代码放在github.com开源,请从以下网址下载:

https://github.com/yun2win/yun2win-sdk-android

提醒

代码请下载releases的稳定版本

环境安装

设备环境:

  • android手机
  • 系统4.2以上

编译环境:

  • 运行环境:android studio

下载android studio:

复制


wget http://www.android-studio.org/
                        

部署配置

  • github下载源码解压到本地
  • 安装android studio
  • 打开android studio 选择导入源码
  • 如果配置了数据服务后台,修改服务器地址

  • 获取AppKey并且修改

时间: 2024-10-10 16:18:10

yun2win即时通讯云服务快速接入方法的相关文章

各种即时通讯云产品之我见

    这是一个无处不社交化的时代,且不说年轻人无时不刻掏出智能手机来浏览微信朋友圈.刷刷微博,就连我身边的很多上了岁数的老人也以会分享照片会通过各种App进行聊天联系为基本技能来学习之.因此各种时髦和常用的App都有了即时通讯的功能,以此来维护并扩展其自身的用户"圈子",进而保持用户黏性的效果. 经历了这两年的蓬勃发展,即时通讯云产品领域早已不是"北平无战事",各路诸侯烽烟四起,都聚雄霸天下之势.它们除了具备能单聊.群聊.声音图片分享以及能快速添加并集成到现有Ap

从零开始开发IM(即时通讯)服务端(二)

好消息:IM1.0.0版本已经上线啦,支持特性: 私聊发送文本/文件 已发送/已送达/已读回执 支持使用ldap登录 支持接入外部的登录认证系统 提供客户端jar包,方便客户端开发 github链接: https://github.com/yuanrw/IM 本篇将带大家从零开始搭建一个轻量级的IM服务端,IM的整体设计思路和架构在我的上篇博客中已经讲过了,没看过的同学请点击从零开始开发IM(即时通讯)服务端 . 这篇将给大家带来更多的细节实现.我将从三个方面来阐述如何构建一个完整可靠的IM系统

环信开源计划开启即时通讯云开源平台时代

12月22日,在"首届移动社交创新价值峰会"上,环信即时通讯云(http://www.easemob.com)发布了被称为"4X100计划"的<环信开源平台计划>,此计划将推动即时通讯云行业进入开源平台时代.而一个中国IT界崭新的开放共赢的生态体系也将随之逐步建立起来. 图注:环信CEO刘俊彦在峰会上解读环信开源平台计划 "2014年,即时通讯云获得了很好的发展,环信也帮助了很多合作伙伴实现了移动社交的创新.那么2015年,如何驱动移动社交创新

ubuntu server激活即时通讯IM服务 Instant Messaging is not activated on this server

转自:http://shine-it.net/index.php/topic,16469.msg28364.html ubuntu server 下 odoo激活及时通讯功能im OpenERP IM Odoo IM activated "Instant Messaging is not activated on this server." 参考: https://accounts.openerp.com/forum/Help-1/question/How-to-activate-ch

基于小米即时消息云服务(MIMC)的Web IM

michat 一个基于小米即时消息云服务(MIMC)的Web IM. 源码地址github和gitee同步. 截图展示 如何使用 请先双击目录"需要安装的jars"的install.bat,安装自定义的jars. 直接运行类MichatApplication,启动项目.访问http://localhost:8081/login,登录账号.默认配置了以下账号做测试: 用户名 密码 user 123456 admin 123456 jack 123456 rose 123456 simon

从零开始开发IM(即时通讯)服务端

好消息:IM1.0.0版本已经上线啦,支持特性: 私聊发送文本/文件 已发送/已送达/已读回执 支持使用ldap登录 支持接入外部的登录认证系统 提供客户端jar包,方便客户端开发 github链接: https://github.com/yuanrw/IM 前言 首先讲讲IM(即时通讯)技术可以用来做什么: 聊天:qq.微信 直播:斗鱼直播.抖音 实时位置共享.游戏多人互动等等 可以说几乎所有高实时性的应用场景都需要用到IM技术. 本篇将带大家从零开始搭建一个轻量级的IM服务端,麻雀虽小,五脏

选择IM云服务供应商

选择IM云服务供应商,其实最重要是有三个因素:费用.技术稳定性.以及后续运维服务. 对于不少创业公司来讲,可能需要找到成本和稳定性的最佳平衡点.目前国内不少IM云服务产品都推出了免费服务项目或者一定期限内的试用.几大主流的IM云服务供应商如下: 阿里悟空:今年刚刚推出不久,目前为吸引用户,对外免费.据称产品稳定成熟后会探索收费策略.不过近期也有消息传出阿里或将撤销该业务,甚至有论坛曝出其已经停止维护: 网易云信:提供两个月的免费试用.功能较为完善,覆盖IM基础功能以及基于三大通讯运营商的短信.电

unity语音聊天--亲加通讯云(Android/iOS)---android

注:最近项目需求要做语音聊天这一块的功能,想了几种方案,最后还是决定用第三方服务,毕竟日活50W以下亲加是免费的! 亲加官方给了一定的技术文档,但是遇到很多坑,我顺便都介绍一下 废话不多说,先介绍Android接入,下一章介绍iOS. 1.下载开发包 亲加开发包下载地址 http://www.gotye.com.cn/download.html 即时通讯云包含丰富的聊天功能接口,不用语音通讯云了,下这个开发包 Android开发的朋友们下android的包,android的接入官方文档很详细,而

关于即时通讯功能开发技术选型

最近研究即时通讯,发现自己使用XMPP,用openfire或者enjebber后台,会很复杂,要涉及到二次开发后台,要用java或者enjebber专用语言,实在无法开展. 后来找了下其他资料,发现现在国内的即时通讯云有好几家,功能都挺不错的,很强大,完爆自己后台,还省事,不花钱,挺好的,毫不犹疑的学习起来了他们的SDK. 我综合各方面最后选择了环信的产品.看了下文档,很快就基本流程,主要接口搞懂了,目测一两天就能搞出一个即使通讯功能,哈哈.