精华内容
下载资源
问答
  • 分布式IM聊天系统.zip

    2021-03-15 13:33:44
    IM 分布式聊天服务器 采用Orleans开发
  • 融云IM聊天系统接口调用代码调用 代码 /** * 融云聊天获取数据 * * @param $url api地址 * @param $postData 传递数据 */ function getRongClound($url = "", $postData = "") { // 参数为空返回状态 if...

    融云IM聊天系统接口调用

    代码

    /**
     *  融云聊天获取数据
     *
     * @param $url api地址
     * @param $postData 传递数据
     */
    function getRongClound($url = "", $postData = "") {
        // 参数为空返回状态
        if(empty($url) || empty($postData))  return false;
    
        //参数初始化
        $appKey = '***********';
        $appSecret = '**********';
        $nonce = mt_rand(); // 获取随机数。
        $timeStamp = time();// 获取时间戳。
        $signature = sha1($appSecret.$nonce.$timeStamp);
        $httpHeader = array(
            'App-Key:'.$appKey, //	平台分配
            'Nonce:'.$nonce, //	随机数
            'Timestamp:'.$timeStamp, //	时间戳
            'Signature:'.$signature, //	签名
            'Content-Type: application/x-www-form-urlencoded',
        );
        // 初始化curl
        $ch = curl_init();
        // 设置你需要抓取的URL
        curl_setopt($ch, CURLOPT_URL, $url);
        // post提交方式
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
        // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        // 设置header
        curl_setopt($ch, CURLOPT_HEADER, false);
        // 增加 HTTP Header(头)里的字段
        curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeader);
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        // 终止从服务端进行验证
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
        // 运行curl
        $data = curl_exec($ch);
        // 关闭URL请求
        curl_close($ch);
        return $data ;
    }
    

    调用

    /**
     * @api {post} getImToken 001. 获取融云token
     * @apiGroup 聊天系统
     *
     * @apiName getImToken
     *
     * @apiParam {string} field 空
     *
     * @apiSuccess {string} token 融云token
     * */
    public function getImToken()
    {
    	//融云接口链接
        $url = 'https://api.cn.rong.io/user/getToken.json';、
        //融云需要参数
        $postData='userId='.$shippeId.'&name='.$userName.'&portraitUri='.$portraitUri;
        // post提交-推送
        $row = json_decode(getRongClound($url, $postData),true);
    
    }
    
    展开全文
  • VC IM聊天系统

    2008-07-14 02:51:25
    一个很不错的vc做的im聊天软件 很不错的代码
  • 最近几个月团队主要开发了基于websocket的网页版即时聊天IM系统,主要满足客服与用户之前的沟通及问题反馈,包含消息分发,通讯录,日程,任务等功能模块,保证PC在线用户在听课,购买课程,问题反馈等方面的咨询和...

    最近几个月团队主要开发了基于websocket的网页版即时聊天IM系统,主要满足客服与用户之前的沟通及问题反馈,包含消息分发,通讯录,日程,任务等功能模块,保证PC在线用户在听课,购买课程,问题反馈等方面的咨询和沟通及时高效的反馈到客服及专区管理员。

    f5844122ed90

    IM.png

    f5844122ed90

    IM.png

    IM即时消息分发,同时包含通讯录,可以进行文字、语音、图片、附件、小视频等聊天,功能基本参照网页版微信、QQ、钉钉这类的应用,面向用户C端更多一点。前端采用了web浏览器嵌入模式,后端采用了IM服务器和接口服务器架构,IM服务器专门负责消息的分发和推送,接口服务器负责所有业务的处理。发开要求:满足基本业务需求,要有丰富的IM交互,开放的结构,能让其自由接入到现有的Web系统。

    IM主要基于websocket通讯协议开发的,首先要弄明白WS协议的原理和机制。

    WebSocket协议是基于TCP协议并遵从HTTP协议的握手规范的一种通讯协议,其通过发送连接请求,握手,验证握手信息这三个步骤与服务器建立WebSocket连接。

    发送连接请求

    客户端通过一个格式为:ws://host:port/的请求地址发起WebSocket连接请求,并由JavaScript实现WebSocket API与服务器建立WebSocket连接,其中host为服务器主机IP地址或域名,port为端口。为了让本客服系统能够在不同浏览器建立WebSocket连接,在发送连接请求前,需要开启SockJS的支持,创建一个全双工的信道。

    建立websocket连接

    建立连接后,可在客户端使用JavaScript实现相关的WebSocket API。相关实现接口如下表:

    实现方式 说明

    New WebSocket(“ws://host:port/”); 发起与服务器建立WebSocket连接的对象

    websocket.onopen()=function(){} 接收连接成功建立的响应函数

    websocket.onerror()=function(){} 接收异常信息的响应函数

    websocket.onmessage()=functionm(event){} 接收服务器返回的消息函数

    websocket.onclose()=function(){} 接收连接关闭的响应函数

    sendMessage(event.data)=function(data){} 发送消息函数

    websocket.close()=function(){} 连接关闭函数

    本地缓存

    IM的聊天消息采用本地缓存,能有效的的提高性能

    项目功能模块主要分为

    主体业务类

    websocket消息推送

    websocket消息接受

    工具函数类

    dom模板渲染类

    本地存储类

    页面交互效果类

    操作日志类

    消息模板类

    展开全文
  • DuckChat 是一个安全的私有聊天软件 私有部署 / 安全可靠 / 随意定制 低成本快速搭建 / 单机网站模式 / 超大集群模式[500+服务器] 1.0.7版本更新: 语音消息 群成员列表 小程序权限判断 表
  • 完整优化版H5即时通讯客服IM聊天系统(微信+安卓+苹果端APP源码) 完整优化版H5聊天系统即时通讯_IM聊天APP_聊天_交友_客服_微信 带安卓_苹果端APP源码_视频教程  7月份的版本,算是优化版本了,带教程,数据齐全...

    完整优化版H5即时通讯客服IM聊天系统(微信+安卓+苹果端APP源码)

    完整优化版H5聊天系统即时通讯_IM聊天APP_聊天_交友_客服_微信 带安卓_苹果端APP源码_视频教程
      7月份的版本,算是优化版本了,带教程,数据齐全完整。
      下载完整优化版H5即时通讯客服IM聊天系统(微信+安卓+苹果端APP源码)
      https://www.downzz.com/APP/17371.html

    展开全文
  • 为了加深对netty的学习理解,我动手搭建了一个简单版的im系统,希望对大家的学习有一定帮助吧。显示介绍,目前代码托管在码云:https://gitee.com/corecmd_chief/open-source-tcim open-source-tcim 介绍 open-...

    为了加深对netty的学习理解,我动手搭建了一个简单版的im系统,希望对大家的学习有一定帮助吧。目前代码托管在码云:https://gitee.com/corecmd_chief/open-source-tcim

    open-source-tcim

    介绍

    open-source-tcim,是基于netty的客户端+服务器简单即时通讯系统。服务端基于springboot,前端采用android开发;后端是简单的微服务架构,采用consul作为服务注册中心,服务端和网关服务需要注册到注册中心;前端对服务端的http请求都需要经过网关,登录session采用redis缓存,因此服务端可进行集群部署。

    软件架构

    在这里插入图片描述

    安装教程

    1. 搭建redis缓存服务器,具体搭建教程,可以参考我的博客: Centos7安装Redis5.0.3步骤

    2. 搭建mysql数据库服务器,具体搭建教程,可以参考我的博客: Docker部署Mysql

    3. 数据库服务器配置后,新建数据库,库名自定义,然后根据tc-im-server/src/main/resources/config/database.sql下的sql,新建数据库表。

    4. 搭建consul服务器,下载consul安装包到本地,具体安装方式请自行百度

    5. 克隆本仓库代码到本机,https://gitee.com/corecmd_chief/open-source-tcim.git

    6. 使用编辑器,例如idea,打开tc-im-common公用包,依赖下载完毕后,点击maven install将公用包安装到本地maven仓库

    7. 使用编辑器,例如idea,打开tcgateway网关项目,依赖下载完毕后,修改配置文件,将application-dev.yml 中的consul IP及端口修改为你自己的服务器配置,然后运行项目

    8. 使用编辑器,例如idea,打开tc-im-server项目,依赖下载完毕后,修改配置文件,将application-dev.yml 中的consul IP及端口修改为你自己的服务器配置,redis配置,fastdfs配置(目前还没有更新fastdfs的代码,请稍等),imserver的netty配置;修改数据库配置为你自己的配置。

    9. 运行tc-im-server项目,项目启动后,会提示项目正在你配置的im端口监听

    10. 访问tc-im-server 接口文档页面,例如: http://localhost:18900/doc.html,若出现此页面,则说明服务端项目部署成功
      在这里插入图片描述

    11. 使用androidstudio打开tc-im-android-client客户端项目,待项目构建完毕后,需要修改app/src/main/java/com/corecmd/tcloud/tcim/configs/ApiConfigs.java下的api配置,将api地址修改为你自己的网关地址,例如: http://192.168.1.4:17400/v1/im.注意,若你的服务部署在本机,那么api地址请不要使用127.0.0.1或者localhost,这是由于这两个ip在android中另有用处。可以使用:win+r–>cmd–>ipconfig查看本机ip地址。修改好配置后。运行客户端项目,进入到登录页面,如下所示:
      在这里插入图片描述

    12. 登录账号,你需要自行注册,注册地址为您的imserver接口文档页面,如下所示:
      在这里插入图片描述

    系统演示

    在这里插入图片描述

    后期优化

    1. 支持群聊
    2. 支持图片、视频、文件的传输
    3. 搭建fastdfs分布式文件服务器,具体搭建教程可参考:使用 FastDFS搭建文件服务器
    4. 仿微信朋友圈,发布动态功能。
    5. 以及视频上传时,自动生成静态图和动态图预览图片
    6. 聊天消息转发等

    说明

    本项目是为了学习netty而搭建,旨在给大家学习netty是提供一个参考。目前仅支持单聊,并且聊天内容仅支持文本。后续还需要优化一下项目,以达到支持图片、视频、文件等内容。至于android客户端的界面,也是本人简单构建的,毕竟我不是专业搞android的,有兴趣的同学可以继续优化一下客户端代码,然后我们一起优化一下它吧。

    展开全文
  • mqtt-socketIo-php 用 nodejs ,php ,mqtt 实现的IM聊天系统,实现了 1: 点对点聊天和群聊 。2:实现了PC和移动设备的通信。(android的代码暂未提供)。
  • 年轻网民 Netty IM项目
  • 项目将服务细分为DataService , UserService , MessageService , SubscriptionService等四个部分,由四部分组合完成整个系统功能。 数据服务 提供数据服务,当其他服务需要操作数据库(MySQL,MongoDB)时要通过...
  • WebSocket是实时系统的协议基础,下面来看看此协议 一、websocket与http WebSocket是HTML5出现的协议,也就是说HTTP协议并没有变化,,但注意,HTTP是不支持持久连接的(长连接,循环连接不算),这是WebSocket出现...
  • 开篇电商平台最不能缺的就是即时通讯,例如通知类下发,客服聊天等。今天,就来给大家分享一个开源的即时通讯系统。如对文章不感兴趣可直接跳至文章末尾,有获取源码链接的方法。但文章内容是需要你简单...
  • 实现了网络聊天IM的基本功能,基于.NET 2.0 开发,使用了ESFramework通信框架。支持windows客户端和Silverlight客户端。很强大!
  • 点击上方蓝色“肉眼品世界”,选择“设为星标”开篇电商平台最不能缺的就是即时通讯,例如通知类下发,客服聊天等。今天,就来给大家分享一个开源的即时通讯系统。如对文章不感兴趣可直接跳至文章末尾...
  • # 功能预览 1、控制台页面http://127.0.0.1:8080 2、Android客户端 3、Web客户端 # 结语 此套开源的即时通讯系统,可以改成推送的,也可以改成聊天的,后端改改可以拿来直接使用,重点不在前端,但android 和ios...
  • 电商平台最不能缺的就是即时通讯,例如通知类下发,客服聊天等。 今天,就来给大家分享一个开源的即时通讯系统。 但文章内容是需要你简单的过一遍的,相信你能get到不少骚操作。 # 项目简介 该项目...
  • 大家好,今天推荐一个即时通讯系统项目。 上次是谁要的即时通讯系统项目啊,帮你找到了。这是我目前见过的最好的即时通讯系统项目。功能完整,代码结构清晰。值得推荐。开篇电商平台最不能缺的就是即时...
  • 使用openfire搭建IM聊天系统(一)

    千次阅读 2016-09-15 12:45:41
    一 准备操作系统:ubuntu15.04; 数据库:mysql5.6; jdk:java8 openfire是4.0.3 没有安装java环境的可以使用ppa安装sudo apt-get install python-software-properties sudo add-apt-repository ppa:webupd8team/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,812
精华内容 7,124
关键字:

im聊天系统