在现在Time cost和Labor cost进入项目并占据重要位置的开发理念里,当一款项目的目标、理念以及开发的要求非常明确时,怎样减少时间、人力成本以及降低开发风险以及成为一个项目在开发初期需要确定的重要因素。

大道至简 知易行难,作为一名开发人员站在开发的角度上来讲,怎样去攻克一个技术难题或者需要学习新的语言、技术去应用于新的项目,已经不会是最大的问题,而时间成本以及人力成本会是一个团队以及公司去考虑的侧重点。怎样去减少这些开发成本最终达到同样的期望效果,今天我给大家介绍一款产品:GoEasy, 简单而强大的三方WebSocket。

我为什么会用到GoEasy,最近公司推p2p新项目,在订单提醒这一块因为新项目配备开发人员较少,就算加班也不能在estimated time内完成。经过会议决定使用三方的产品来做这一块。筛选中最后决定选择看起来最简单的GoEasy。

只需要9分钟,从注册到推送实现

1 登录 www.goeasy.io

2 注册账号并登录

3  登录进入后台

我的应用→创建应用→选择地区→获取APP keys

这里选择地区有3个选项可以选择,华东(杭州)、美国东部(弗吉尼亚)、新加坡,根据产品使用用户所在地来选择效果最佳

点开APP keys 查看

我们会获得2个对应的key,一个只能用来订阅channel来接收消息的Subscribe key和一个既可以发送消息也可以订阅channel来接受消息的Common key

OK  现在用一个demo来展示,为什么只需要9分钟。

服务器→客户端

这里我用C#来演示,当然 GoEasy适用于任何语言和浏览器。

先用C#写一个Demo

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.IO;namespace ConsoleApplication1
{class Program{static void Main(string[] args){string postDataStr = "appkey=your app keyXXXXXXXXXXXXXXXXXXXXXXXXXXX";//appkeyHttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://rest-hangzhou.goeasy.io/publish");request.Method = "POST";request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);Stream myRequestStream = request.GetRequestStream();byte[] data = Encoding.UTF8.GetBytes(postDataStr);myRequestStream.Write(data, 0, data.Length);Console.WriteLine(data);HttpWebResponse response = (HttpWebResponse)request.GetResponse();Stream myResponseStream = response.GetResponseStream();StreamReader myStreamReader = new StreamReader(myResponseStream,Encoding.GetEncoding("utf-8"));string retString = myStreamReader.ReadToEnd();Console.WriteLine(retString);Console.ReadLine();myStreamReader.Close();myResponseStream.Close();}}
}

用html 写一个接收端

<!DOCTYPE html>
<html>
<html><head><script type="text/javascript" src="https://cdn-hangzhou.goeasy.io/goeasy.js"></script><script type="text/javascript">var goeasy = new GoEasy({appkey: 'your app keyXXXXXXXXXXXXXX'});goeasy.subscribe({channel: 'demo',onMessage: function(message){//收到消息的第一行,打出日志,以这个时间作为检查的标准alert('收到:'+message.content);}});</script></head></html>

这里我用的是Common key,在实战项目中,接收端使用Common key会存在安全缺陷,建议使用Subscribe key。

还有需要注意的一点就是,CDN host和Rest host 取决于你在创建应用时的选择。

最后从页面接受结果可以看到与C#中demo content推送的内容一致。

同时,我们也可以完成客户端→客户端的推送

发送端

<!DOCTYPE html>
<html>
<html><head><script type="text/javascript" src="https://cdn-hangzhou.goeasy.io/goeasy.js"></script><script type="text/javascript">var goeasy = new GoEasy({appkey: 'your app keyXXXXXXXXXXXXXX'});function publishMessage() {var publishMessage = document.getElementById("content").value;goeasy.publish({channel: 'demo',message: publishMessage,onFailed: function (error) {alert(error.code+" : "+error.content);},onSuccess: function(){document.getElementById("content").value='';}});}</script></head><body><textarea rows="3" cols="20" id="content"></textarea><button id="fasong" onclick="publishMessage()">Send</button>

接收端代码不变,我们从发送端发送消息

最后接受成功

同样的app key在不同的代码以及环境中都能够达到同样的效果,GoEasy 在让WebSocket变简单的过程中为开发人员极大的减少了时间和人力成本,如果您对安全性有要求的话,GoEasy 付费项目中独有的OTP 技术可以保护您的消息安全无忧。

从注册到在您的项目中加入APP key,您花到9分钟了吗?

转载于:https://my.oschina.net/u/3908407/blog/1920624

C# 完成WebSocket demo 用GoEasy实现Hello world相关推荐

  1. 大道至简 知易行难 C# 完成WebSocket demo 用GoEasy实现Hello world

    在现在Time cost和Labor cost进入项目并占据重要位置的开发理念里,当一款项目的目标.理念以及开发的要求非常明确时,怎样减少时间.人力成本以及降低开发风险以及成为一个项目在开发初期需要确 ...

  2. 大道至简 知易行难 JAVA 完成WebSocket demo 用GoEasy实现Hello world

    一个项目在方向.目标和运营理念已经定义了的时候,我们会去考虑项目本身的周期和开发成本.当然,所有的公司都会在项目能够达成目标的同时尽量减少人力成本和时间成本,其中,就会有用到三方的软件和框架. 大道至 ...

  3. JAVA 完成WebSocket demo 用GoEasy实现Hello world

    一个项目在方向.目标和运营理念已经定义了的时候,我们会去考虑项目本身的周期和开发成本.当然,所有的公司都会在项目能够达成目标的同时尽量减少人力成本和时间成本,其中,就会有用到三方的软件和框架. 大道至 ...

  4. websocket demo

    git node.js创建websocket 的服务 Nodejs Websocket包 ws.createServer([options], [callback]) The callback is ...

  5. websocket demo,websocket封装,jquery下的websocket封装

    一.websocket封装github地址:https://github.com/yquanmei/websocket-demo. 二.需求 最近公司要求加入websocket的页面有点多,每次都重复 ...

  6. C(++) Websocket实现扫码二维码登录---GoEasy

    最近在做一个扫码登录功能,为此我还在网上搜了一下关于微信的扫描登录的实现方式.当这个功能完成了后,我决定将整个实现思路整理出来,方便自己以后查看也方便其他有类似需求的程序猿些. 要实现扫码登录我们需要 ...

  7. sync-player:使用websocket实现异地同步播放视频

    本文作者:星空无限 原文链接:https://liyangzone.com/2020/09/20/%E5%89%8D%E7%AB%AF/sync-player/ GoEasy已获作者授权转载,GoEa ...

  8. websocket心跳链接代码_WebSocket原理与实践(五)--心跳及重连机制

    在使用websocket的过程中,有时候会遇到网络断开的情况,但是在网络断开的时候服务器端并没有触发onclose的事件.这样会有:服务器会继续向客户端发送多余的链接,并且这些数据还会丢失.所以就需要 ...

  9. 用node实现websocket协议

    协议 WebSocket是一种基于TCP之上的客户端与服务器全双工通讯的协议,它在HTML5中被定义,也是新一代webapp的基础规范之一. 它突破了早先的AJAX的限制,关键在于实时性,服务器可以主 ...

最新文章

  1. 总是听别人说响应式布局,原来这么简单
  2. CentOS查看CPU信息、位数、多核信息
  3. LoRaWAN与LoRa的区别!
  4. Java中static关键字总结
  5. W ndoWs7重启按F11没用,windows7无法正常启动按F8也没有效果的解决方法
  6. Python_列表常用操作
  7. macOS zip 打包加密和 unzip 解压
  8. 最新解决ora-01034:oracle not available 的方法
  9. mysql delete语句_MySQL ------ 触发器(TRIGGER)(二十七)
  10. 排列组合十一个性质公式及证明,错排数公式及证明
  11. SQL查询语句的排序
  12. 10 | 递归:如何用三行代码找到“最终推荐人”?
  13. linux中线程的挂起与恢复(进程暂停)
  14. 魔法少女小Scarlet(洛谷P4924题题解,C++语言描述)
  15. Android修炼之道—布局优化( 100 喵喵币)
  16. kk5.0 服务器信息,关于KK问题整理汇总,这个可以收藏!
  17. java 线程概念_java并发编程之 java线程基本概念
  18. 计算机分数转化成小数,分数换算成小数的方法(分数转换小数必背表)
  19. OPKG包管理系统详解!带你管理OpenWrt系统软件
  20. 深度学习(十八):人脸验证(face verification)和人脸识别(face recognition)

热门文章

  1. redis客户端通过哨兵获取主机、从机信息
  2. 错误 1error LNK1207 PDB 格式不兼容;请删除并重新生成
  3. 数字化转型的失败原因及成功之道
  4. 【AI案例】(一)NPL文本情感分析
  5. 光纤HDMI线不再脆弱,开博尔铠装HDMI光纤抗拖拽
  6. 用python写atm自动取款_Python实现atm机的功能
  7. 海奥华预言--第十一章 谁是基督?
  8. 群晖NAS搭建web服务器,并发布公网可访问 1/4
  9. 数据结构视频教程 -《[猎豹网校]数据结构与算法_C#语言》
  10. Kali Linux基础