首页 文章 精选 留言 我的

精选列表

搜索[Unicode通信],共10000篇文章
优秀的个人博客,低调大师

高性能跨平台网络通信框架 HP-Socket v5.9.1 发布

项目主页:http://www.oschina.net/p/hp-socket 开发文档: https://www.docin.com/p-4062394468.html 下载地址: https://github.com/ldcsaa/HP-Socket QQ Group: 44636872, 663903943 v5.9.1 更新 一、主要更新 更新流式压缩/解压相关的若干 API,支持分段压缩/解压(参考:Change-APIs.txt) 更新 SSL 模块,支持 OpenSSL 3.0 二、第三方库更新 llhttp 升级到 8.1.0 版本 zlib 升级到 1.2.13 版本 openssl 升级到 1.1.1s 版本 mimalloc 升级到 1.7.9 版本 jemalloc 升级到 5.3.0 版本 HP-Socket 组件列表 基础组件 SSL 组件 HTTP 组件

优秀的个人博客,低调大师

高性能跨平台网络通信框架 HP-Socket v5.6.2 发布

项目主页:http://www.oschina.net/p/hp-socket 开发文档: https://www.docin.com/p-2257033571.html 下载地址: https://github.com/ldcsaa/HP-Socket 本次更新主要对 SSL、HTTP 和 UDP 系列组件作了优化和调整! v5.6.2 更新 一、SSL 组件更新 所有 SSL 组件增加以下接口方法支持加载内存证书 1) Server:SetupSSLContextByMemory(), AddSSLContextByMemory() 2) Agent:SetupSSLContextByMemory() 3) Client:SetupSSLContextByMemory() 所有 SSL 组件增加 GetSSLSessionInfo() 方法,用来获取 SSL 会话相关信息 SSL Server 组件提供默认的 SNI 服务器域名绑定机制,大多数情形下应用程序不必自定义 SNI 回调函数 1) 当 SetupSSLContext() 的 'fnServerNameCallback' 参数值为 nullptr 则启用默认的服务器域名绑定机制 2) BindSSLServerName():绑定服务器域名到指定证书 3) HP_SSL_DefaultServerNameCallback():默认 SNI 回调函数 二、HTTP 组件更新 HTTP Server 组件的 SendWSMessage() 方法删除 lpszMask 参数 所有 HTTP 组件的 SendWSMessage() 方法的 pData 参数类型改为 const BYTE*,因此可以传入常量 所有 HTTP 组件添加 SendChunkData() 方法以方便地发送 Chunked 数据 三、UDP 组件更新 优化 Linux 平台的 UDP Cast 组件,使得其与 Windows 平台的 UDP Cast 组件保持行为一致 提升所有 UDP 组件的 IPv6 兼容性 UDP Client/Server 组件关闭时自动向对端发送“关闭通知”数据报 四、其他更新 jemalloc 升级到 5.2.1 版本 OpenSSL 升级到 1.1.1d 版本 代码优化,提高稳定性 HP-Socket 组件列表 基础组件 SSL 组件 HTTP 组件

优秀的个人博客,低调大师

利用php websocket实现小程序消息推送或即时通信功能 wss的实现

小程序没有消息推送功能,要想实现可以通过php的websocket来实现 一.配置服务器. 1.上传web-msg-sender目录到服务器 (官方地址https://www.workerman.net/web-sender 下载地址:https://www.workerman.net/download/senderzip) 2.修改start_io.php文件修改证书路径(nginx证书)小程序跳过此步小程序需要使用反向代理下面会有介绍 $sender_io = new SocketIO(2120); 修改成 $context = array( 'ssl' => array( 'local_cert' => '/ssl/cn_bundle.crt', 'local_pk' => '/ssl/pk.key', 'verify_peer' => false, ) ); // PHPSocketIO服务 $sender_io = new SocketIO(2120,$context); 证书可以通过腾讯云申请,下载后选择里面的nginx证书即可 3.参考http://doc.workerman.net/faq/disable-function-check.html检查环境 如有禁用函数vi /usr/local/php/etc/php.ini 找到disable_functions 删除禁用项 4.进入web-msg-sender目录 后执行启动命令 windows系统进入到框架目录里双击start_for_win.bat文件启动 php start.php start -d 5.将2120 2121 端口开放权限 并加入云服务器安全组 可以在cmd中执行 telnet 域名 2120 测试是否已经连通 6.别忘了把域名或ip添加到微信小程序授权域名的wss域名中,否则是无法访问的 二.配置客户端 1小程序客户端(前提必须事先配置好https域名证书及授权域名) weapp.socket.io.js文件下载 http://fourpan.com/fs/exi6ao0gg6vi9pdf04/ https://github.com/10cella/weapp.socket.io const io = require('../../utils/weapp.socket.io.js') Page({ /** * 页面的初始数据 */ data: {}, /** * 生命周期函数--监听页面加载 */ onLoad: function () { var that = this; var uid='bitefu1'; const socket = io('https://域名');//此处必须是域名 小程序不支持ip socket.on('connect', () => { console.log(socket.connected); // true socket.emit('login', uid); }); socket.on('new_msg', d => { console.log('received news: ', d);//在这里接收消息并自行处理提醒 }) } }) 注:小程序不能设置端口所以必须进行反向代理.设置方法如下.并且 workerman原生和nginx代理 两种https 不能共存 否则会报错 https://github.com/walkor/phpsocket.io/tree/master/docs/zh#%E6%94%AF%E6%8C%81sslhttps-wss apache反向代理:https://www.cnblogs.com/skyfeng/articles/6628903.html iis反射代理:https://www.cnblogs.com/pengcc/p/4329207.html 2.网页客户端 便于发送测试特意发个web端方便测试用. <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script src='https://cdn.bootcss.com/socket.io/2.0.3/socket.io.js'></script> <script src='//cdn.bootcss.com/jquery/1.11.3/jquery.js'></script> <script> var domain='域名或ip'; </script> </head> <body> <div style="width:850px;"> <h3>测试:</h3> 当前用户uid:<b class="uid"></b><br> 可以通过url:<a id="send_to_one" href="" target="_blank"><font style="color:#91BD09">http://<font class="domain"></font>:2121?type=publish&to=<b class="uid"></b>&content=消息内容</font></a> 向当前用户发送消息<br> 可以通过url:<a href="" target="_blank" id="send_to_all" ><font style="color:#91BD09">http://<font class="domain"></font>:2121?type=publish&to=&content=消息内容</font></a> 向所有在线用户推送消息<br> <script> // 使用时替换成真实的uid,这里方便演示使用时间戳 var uid = Date.parse(new Date()); $('#send_to_one').attr('href', 'http://'+domain+':2121/?type=publish&content=%E6%B6%88%E6%81%AF%E5%86%85%E5%AE%B9&to='+uid); $('.uid').html(uid); $('#send_to_all').attr('href', 'http://'+domain+':2121/?type=publish&content=%E6%B6%88%E6%81%AF%E5%86%85%E5%AE%B9'); $('.domain').html(domain); </script> </div> <script> $(document).ready(function () { // 连接服务端 var socket = io('https://'+domain+':2120'); // 连接后登录 socket.on('connect', function(){ socket.emit('login', uid); }); // 后端推送来消息时 socket.on('new_msg', function(msg){ $('#content').append('收到消息:'+msg+'<br>'); }); // 后端推送来在线数据时 socket.on('update_online_count', function(online_stat){ $('#online_box').html(online_stat); }); }); </script> <div id="online_box"></div> <div id="content"></div> </body> </html> 三服务端发消息 <?php // 指明给谁推送,为空表示向所有在线用户推送 $to_uid = 'bitefu1'; // 推送的url地址,使用自己的服务器地址 $push_api_url = "http://域名或ip:2121/"; $content='大家好啊'; $post_data = array( "type" => "publish", "content" =>$content , "to" => $to_uid, ); $res=curlget($push_api_url,$post_data,'POST',array(),true); var_export($res); function curlget($url, $params='', $method = 'GET', $header = array(), $multi = false,$debug=false,$optsother='') { $opts = array(CURLOPT_TIMEOUT => 10,CURLOPT_RETURNTRANSFER=> 1,CURLOPT_SSL_VERIFYPEER=> false,CURLOPT_SSL_VERIFYHOST=> false,CURLOPT_HTTPHEADER => $header); switch (strtoupper($method)) {/* 根据请求类型设置特定参数 */ case 'GET':$opts[CURLOPT_URL] = $params?$url.'?'.http_build_query($params):$url;break; case 'POST':$params = $multi ? $params : http_build_query($params);//判断是否传输文件 $opts[CURLOPT_URL] = $url;$opts[CURLOPT_POST] = 1;$opts[CURLOPT_POSTFIELDS] = $params;break; default:if($debug)E('不支持的请求方式!');break; }$ch = curl_init();if($optsother && is_array($optsother))$opts=$opts+$optsother;curl_setopt_array($ch, $opts);$data = curl_exec($ch);$error = curl_error($ch);curl_close($ch);/* 初始化并执行curl请求 */ if($error && $debug){E('请求发生错误:'.$error);} return $data; }

优秀的个人博客,低调大师

【双11】阿里云边缘节点ENS助力淘宝构建音视频通信网络

前言 淘宝在2016年推出直播平台,和娱乐直播性质不同,电商直播的主角多为网红店铺及网红达人,以直播带动产品售卖。在淘宝的双11流量加持之下,淘宝直播平台关注度持续攀升,通常的网红店主一场直播带来的收益不亚于一场大型促销。 直播的观看体验和互动效果,会直接影响到店主的收益,这也是淘宝直播技术小二非常关心的技术指标。在上线之初,淘宝直播采用中心式架构,业务集中部署位于一线城市的云中心。随着业务发展,在线主播量大、地区分布广泛、网络质量参差不齐、链路复杂等情况带来的问题不断涌现。首次推流不成功、推流中断、推流质量不稳定、连麦卡顿与高延时、观看端播放卡顿,是技术小二们亟待解决的问题。 本次双11,淘宝直播基于淘宝技术部基础平台音视频通讯基础团队提供的ARTC解决方案,采用阿里云边缘节点服务(ENS),用中心-边缘-终端的新架构,升级替代了传统

优秀的个人博客,低调大师

Java+Netty、Vue+Element-UI实现的即时通信应用 leo-im

之前工作接触了几个开源的IM产品,再加上曾经用Netty实现过几个服务,于是就有了用Netty实现一个IM的想法,于是用业余时间写了一个IM,和喜欢Netty的程序员们分享。 考虑到方便扩展,在服务端采用了Http+Socket结合的设计,客户端所有的请求都基于Http,如发送消息、修改个人信息等,所有的消息推送采用Socket方式即时推送到客户端,这样的设计可以在并发访问量大的情况下,将Http服务与Socket服务分开部署,减小各自的访问压力。 Http服务也基于Netty实现,在Netty之上做了扩展,参考Spring MVC注解实现了netty-rest-server(netty-rest-server),使用该框架,可实现注解注入REST controller,实现统一异常处理控制器和拦截器(如跨域拦截器、身份验证拦截器等)。 Http服务和Scoket服务之间的解耦和通讯可使用Java内置的队列或Redis发布/订阅实现,消息处理器接收到任务后,会将该任务交由线程池处理,处理后通过GroupChannel发送广播或发给指定的Channel。 在线体验与源码地址: 服务端 Web端

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册