即时通讯系统快速集成开发

在即将开发或已有的应用系统中可以快速将信贸通即时通讯系统进行集成,统一用户资料,在线状态等,无需直接操作数据库,只需调用已经封装好的相关类函数和接口,即可进行相应的用户以及消息操作,保持业务数据安全隔离。

支持多种架构的各种终端应用集成,可提供各种语言的快速集成接口。也可根据您的需求定制各种个性和特定接口。

支持架构:CS,BS
支持终端:Windows,Android,iOS
支持语言:Java、PHP、C#、Asp.net、Python

更多详情,请官网了解 https://www.semot.com/im/

安卓快速集成即时通讯聊天,只需几行代码轻松实现.


信贸通即时通讯系统,一款跨平台可定制的 P2P 即时通信系统,为电子商务网站及各行业门户网站和企事业单位提供“一站式”定制解决方案,打造一个稳定,安全,高效,可扩展的即时通信系统,支持在线聊天、视频/语音对话、点对点断点续传文件、自定义皮肤等。软件能真正无缝与电子商务网站整合,有效提高工作效率,节约成本。同时可根据用户的需求进行二次开发,并提供与其他软件整合或嵌入方案。

本文主要介绍如何在自己的已有安卓项目中,快速的集成即时通讯聊天功能,轻松的实现好友聊天,群组聊天,朋友圈等等社交软件的功能。
当然,您的项目刚开始,那更方便直接可以找官方定制开发,可以节省更多的开发时间和开发成本。

第一步:将jar包复制到项目的libs目录中

第二步:添加类库依赖

dependencies {
implementation project(path: ':wpimapp')
}

 

第三步:添加代码(用户登录和获取用户资料)

//一行代码登录并获取当前用户资料
WpimEmbedded.getInstance(this)
.setHost("服务器地址")
.login("账号",Security.md5("密码"))
.getUserInfo(user->{
//登录成功,user为获取到的用户资料
});

 

第四步:使用其他功能

开始私聊

//跳转到私聊界面
WpimEmbedded.getInstance(this).gotoBuddyChat(私聊号码,this);

 

开始群聊:

WpimEmbedded.getInstance(this).gotoCommunityChat(群组ID,this);
只需几行代码,可以实现丰富多样的功能,更多可以自行官网了解。

 

可部署于windows和Linux的即时通讯系统

系统概况
信贸通即时通讯系统,一款跨平台可定制的 P2P 即时通信系统,为电子商务网站及各行业门户网站和企事业单位提供“一站式”定制解决方案,打造一个稳定,安全,高效,可扩展的即时通信系统,支持在线聊天、视频/语音对话、点对点断点续传文件、自定义皮肤等。软件能真正无缝与电子商务网站整合,有效提高工作效率,节约成本。同时可根据用户的需求进行二次开发,并提供与其他软件整合或嵌入方案

系统架构
自研协议独立开发,采用高并发go语言开发的即时通讯及历史消息云存储通信系统。系统安全性高可扩展能力强,系统兼容性好。可快速无缝集成到各种应用系统,有效提高开发效率,节约成本。能轻松在线定制客户端。支持多平台客户端实现多端与多设备同步。

私有部署
整个系统部署在您自己的服务器上,可以部署在公网也可以部署在内网中,支持Windows服务和Linux服务器,硬件要求低(主流服务器和云服务器均可运行)。系统独立运行,完全自主管理和监控,最大程度上保障数据安全,避免信息泄露,安全性更高,带来更多的便捷和保障。

定制开发
可根据客户的需求量身定制符合客户实际应用的即时通聊天软件,可控性强、易扩展,系统集成度高。可以快速进行二次开发,简单方便来进行定制管理。

客户端 / 功能
支持windows,安卓,ios,主流浏览器,功能单聊,群聊,消息互通,朋友圈等主流功能,安全可靠。

更多功能可以到官方网站了解 https://www.semot.com

如何网站中快速集成自己的聊天工具,实现电商类洽谈效果。

在网页中集成聊天工具能为用户提供在线沟通交流平台的程序,让客户无需安装快速沟通。为不同用户之间构建起在线聊天沟通的对话桥梁。信贸通即时通讯系统可以快捷的实现这些功能。

集成简单:

可以与任何语言进行集成,无二次开发门槛,只需简单的几行代码即可实现在线网页版的集成。

//实例化对象。
var shopIm = new WP.ShopIm({         
            wssocketUrl: "ws://demo.semot.com:23000/ws1",
            urlLoginKey: "../WpimApi/php/LoginKey.php", //登录安全Key提供地址(请确保该地址可以访问到)
        });
//初始化之后就可以了。
shopIm.init();

可定制性:

可以定制性高,可以通过重写相应函数实现窗口定制,瞒足各种不同应用场景。功能和样式均可以调整。

/**
* 描述:【可选】覆盖该函数,可以根据实际应用的情况定制登录窗口显示的内容。
* 参数:
*   cfg  好友资料对象
*/
shopIm.buildLoginWinContent = function (cfg) {
    cfg.title = "信贸通登录";
    cfg.content = "您还没有登录,请点击登录。";
    cfg.hintMessage = "正在登录,请稍候...";
    return cfg;
};

/**
* 描述:【可选】覆盖该函数,可以根据实际应用的情况定制会话列表窗口显示的内容。
* 参数:
*   cfg  好友资料对象
*/
shopIm.buildListWinContent = function (cfg) {
    cfg.title = "信贸通会话列表";
    cfg.btnExitText = "退出";
    return cfg;
};


/**
* 描述:【可选】覆盖该函数,可以根据实际应用的情况定制聊天窗口显示的内容。
* 参数:
*   buddy  好友资料对象
*/
shopIm.buildChatWinSideContent = function (buddy,sideElt,winElt) {
    return {
        title: buddy.Nickname + "资料",
        content: [
                "<div><ul>",
                "<li><span>号码:</span>" + buddy.Uin + "<li>",
                "<li><span>昵称:</span>" + buddy.Nickname + "<li>",
                "<li><span>状态:</span>" + this.statusToDescr(buddy.OnlineStatus) + "<li>",
                "</ul></div>",
                "<div>这里显示的内容,在集成到系统的时候都可以自定义。</div>"
            ].join("")
    };
};

 

安全性高:

Web服务和即时通讯服务器之间通过密钥实时加密安全登录密钥,多重保障帐号安全。

同步登录:

可以Web服务实现同步登录,减少客户登录的麻烦,实现web服务器和客户端同时登录。

<?php
    /**
    * php 集成用户登录范例
    */
    $path = dirname(__FILE__) . "/";  
    //设置输出编码  
    header("Content-type: text/html; charset=utf-8"); 
    //包含配置文件
    include_once($path."WpimApiConfig.php");
    //包含会员接口类文件
    include_once($path."Lib/WpimMemberAction.cls.php");

    $uin = 10068;
    $api = new WpimMemberAction();
    $re = $api->GetLoginKey($uin);
    header("Content-type: text/plain; charset=utf-8");  
    $re = (array)$re;

    $result = (array)$re["Data"];
    if(gettype($result) == "string"){
        $result = (array)json_decode($result);
    }
    echo $result['LoginKey'];
?>

多端互通:

可与电脑版、安卓版、苹果版等其他客户端互通互联。

更多详细资料请访问官方网站:http://www.semot.com

Qt和VC中错误:”C1001: 编译器中发生内部错误“的解决方法

这个错误比较烦人,在Qt中遇到。也就是新装的Qt该环境,编译套件编译器版本等等都对上了,但是编译就是不通过,哪怕是新建的项目也是如此。提示错误如下。

如果是安装的英文版本提示:C1001: An internal error has occurred in the compiler。

如果安装的是中文版本提示:C1001: 编译器中发生内部错误。

后面发现vs的开发环境中,创建c++项目也是无法编译通过,提示同样的错误。这样就可以确定是编译器的问题。

解决方法如下

1、更新了Update5补丁更新,如果错误还是如此,进入第2步。

2、在系统设置中找到搜索”语言设置“打开,然后点击”管理语言设置“。更改系统区域设置,在区域设置,取消勾选“Beta版:使用Unicode UTF-8提供全球语言支持(U)

次编译就可以通过了。

Apache2 设置页面Gzip压缩,节省带宽,加速下载

网页压缩来进一步提升网页的浏览速度,它完全不需要任何的成本,只不过是会让您的服务器CPU占用率稍微提升一两个百分点而已或者更少。

配置方法如下:

1、在httpd.conf配置文件确保下面这行不被注释(也就是去掉前面的#)
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so

2、添加配置
#Gzip压缩配置,配置选择性压缩,不压缩图片文件和已经是压缩格式的文件(浪费CPU资源)
<IfModule deflate_module>
SetOutputFilter DEFLATE
DeflateCompressionLevel 9 //压缩级别 1~9 级
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript   //需要压缩的格式
AddOutputFilter DEFLATE css js txt xml rss html htm    //需要压缩的格式
Header append Vary User-Agent env=!dont-vary
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png|bmp|tif)$ no-gzip dont-vary    //不需要压缩的格式
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|7z|bz2|sit|rar|bin|iso)$ no-gzip dont-vary   //不需要压缩的格式
SetEnvIfNoCase Request_URI .(?:pdf|doc|docx|xls|xlsx|ppt|pptx)$ no-gzip dont-vary    //不需要压缩的格式
</IfModule>

3、重启Apache观察结果,chrome浏览器开发者工具中,可以看到Response的消息头,Content-Encoding:gzip 字样,表示已经设置成功。

Apache2.4 客户端带宽速率限制

Apache 模块 mod_ratelimit在 httpd 2.4.24 及更高版本中可用。限速代理内容在 httpd 2.4.33 之前无法正常工作。

该模块提供名为RATE_LIMIT的筛选器以限制 Client 端带宽。在将 HTTP 响应传输到 Client 端时,会将其应用于每个 HTTP 响应,而不是在 IP /Client 端级别上进行聚合。使用环境变量rate-limit以 KiB/s 为单位指定要模拟的连接速度。
可选地,KiB 中的初始突发数据量可以配置为在节流到指定速率限制之前全速通过。此值是可选的,并使用环境变量rate-initial-burst设置。

使用方法如下:
1、在httpd.conf配置文件确保下面这行不被注释(也就是去掉前面的#)
LoadModule ratelimit_module modules/mod_ratelimit.so

2、在虚拟目录的中增加节点配置

<VirtualHost _default_:80>
DocumentRoot “D:/files/web”
<Directory “D:/files/web”>
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
DirectoryIndex index.php index.html
</Directory>

#这块配置downloads目录限速400KB
#——————————

<Location “/downloads”>
SetOutputFilter RATE_LIMIT
SetEnv rate-limit 400
SetEnv rate-initial-burst 512
</Location>
#——————————

</VirtualHost>

3、重启Apache即可实现限速

 

需求:测试安装Xcode13.2.xip,提示卷宗的容量不够,然而调整失败,解决方法如下。

1、首先在虚拟机关机状态下将原来的硬盘空间40G调整到了60G。

2、但是发现调整后,并重启了macOS,识别还是40G。

3、通过命令“diskutil resizeContainer disk0s2 60g”调整空间,发现不行。(disk0s2是调整的卷宗ID)

其实注意观察可以看到,上面的命令执行后可以看到提示信息。提醒需要apfs对应的命令。

4、调整执行命令“diskutil apfs resizeContainer disk0s2 60g”。

执行成功,可以看到空间已经调整过来了。