根据Unix哲学来编写你的HTML5 Websocket服务器来实现全双工通信
websocketd代表WebSocket的守护进程
websocketd处理的是浏览器和服务器之间的WebSocket连接,它会启动你所指定的服务器端应用来对WebSockets进行处理,然后在浏览器和服务器应用之间进行消息的传递。
在20年前的话,有一项叫做CGI的技术做的工作类似,但现在这项技术将会被websocket所取代。
语言无关
只要你的服务器应用是可以从命令行进行运行的,你就可以为你的服务器应用编写WebSocket终端服务。
无需额外的库的支持
通过WebSocketd进行信息传递其实非常的简单,从标准输入stdin读取出文本然后写入到标准输出stdout,就是这么的简单。
让你远离多线程所带来的痛苦
Websocketd会根据所有进来的WebSocket连接来在对应的一个专门的独立进程中来运行你的应用。也就是说每个连接都是通过不同的进程隔离开来的。
完全符合我们公认的Unix哲学:
“编写的Unix应用应该一次只做一件事情,且把该事情做到极致。编写的软件应该可以协同工作。编写的软件应该可以处理文本流。因为你为Unix编写的接口将会是全球通用的。”
10秒教程
下面我们创建一个微型的WebSocket服务器,所做的事情就是去自增加到十,每次加1的时候都停顿一下并将当前数字输出到标准输出。
首先使用你喜欢的语言编写以上代码,这里我用的是bash脚本语言。
通过以上websocketd命令指定要监听的端口以及需要和浏览器进行通信的以上编写的应用名称。
最后在pc客户端的一个网页页面中编写对应的javascript脚本来通过WebSocket来连接上上面的WebSocketd监听端口。
大功告成...从中大家可以看到通过WebSocketd来建立一个WebSocket服务器是多么的简单!
------完----------
Websocketd官网:http://websocketd.com/
作/译者 |
微信知识共享公众号 |
CSDN |
天地会珠海分舵 |
TechGoGoGo |
http://blog.csdn.net/zhubaitian |
根据Unix哲学来编写你的HTML5 Websocket服务器来实现全双工通信的更多相关文章
- 回顾一下Unix哲学
Unix哲学是一些先哲们多方位阐述的,有多种说法.可以概括为以下几点: 模块原则:使用简洁的接口拼合简单的部件. 清晰原则:清晰胜于机巧. 组合原则:设计时考虑拼接组合. 分离原则:策略同机制分离,接 ...
- [Linux] 关于Unix哲学
reference : http://www.ruanyifeng.com/blog/2009/06/unix_philosophy.html 先讲两个很老的小故事. 第一个故事. 有一家日本最大的化 ...
- 关于Unix哲学
http://www.ruanyifeng.com/blog/2009/06/unix_philosophy.html 这几天,我在看Unix,发现很多人在谈"Unix哲学",也就 ...
- 用 Go 编写一个简单的 WebSocket 推送服务
用 Go 编写一个简单的 WebSocket 推送服务 本文中代码可以在 github.com/alfred-zhong/wserver 获取. 背景 最近拿到需求要在网页上展示报警信息.以往报警信息 ...
- Demo源码放送:打通B/S与C/S !让HTML5 WebSocket与.NET Socket公用同一个服务端!
随着HTML5 WebSocket技术的日益成熟与普及,我们可以借助WebSocket来更加方便地打通BS与CS -- 因为B/S中的WebSocket可以直接连接到C/S的服务端,并进行双向通信.如 ...
- HTML5学习总结-08 WebSocket 服务器推送
一 WebSocket 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了.近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通信,扩展 ...
- 打通B/S与C/S !让HTML5 WebSocket与.NET Socket公用同一个服务端!
随着HTML5 WebSocket技术的日益成熟与普及,我们可以借助WebSocket来更加方便地打通BS与CS -- 因为B/S中的WebSocket可以直接连接到C/S的服务端,并进行双向通信.如 ...
- 写实例学习html5 WebSocket
WebSocket简介 WebSocket是html5的重要特性.它是HTML5一种新的协议,实现了浏览器与服务器全双工通信(full-duplex).使服务器可以主动传送数据给客户端,对构建实时w ...
- 使用 HTML5 webSocket API实现即时通讯的功能
project下载地址:http://download.csdn.net/detail/wangshuxuncom/6430191 说明: 本project用于展示怎样使用 HTML5 webSock ...
随机推荐
- JAVA基金会 (三)反射 反思的深度分析
上一页已经推出反映的一些基本概念,这主要是通过一个例子反映谈的过程,以及样品的实际应用. 这个样例是这种设计思路:从一个属性文件里读取一段字符串,然后,依据该字符串生成相应的类实例对象:这之后另一个增 ...
- window批处理-4.call
作用: 批处理中调用还有一个批处理或调用行号后的全部命令 格式: call [FileName] [:label] demo: call.bat: @echo off echo 開始调用called ...
- ipad pro注定是失败的!
ipad pro注定是失败的! 把一个玩具操作系统装在生产力工具上就能产生生产力了? so young so simple!
- Java里泛型有什么作用
1 泛型赋予了类型參数式多态的能力 2 泛型的第一个优点是编译时的严格类型检查,提高了程序的安全性和健壮性,这是集合框架最重要的特点. 3 泛型消除了绝大多数的类型转换.假设没有泛型,当你使用集合框架 ...
- Android4.4 蓝牙源代码段分析
最近GOOGLE发布时间Android4.4,我看了看源代码.4.4蓝牙打开过程或这部分的一些变化,判断蓝牙开关是从接口设置settings在里面switch开关,widget当然,它可以切换,也许启 ...
- ORDER BY RAND()
大概是因为需要研究了一下MYSQL随机样本实现.例如:离tablename表随机抽取了创纪录,我们一般的写法是:SELECT * FROM tablename ORDER BY RAND() LIMI ...
- Linux/UNIX先进I/O
先进I/O 非阻塞IO 非阻塞I/O因此,我们可以称之为open.read和write这种I/O操作,而这些操作不会永久阻止.我们假设,该操作不能完成,然后调用立即返回一个错误.则表示该操作将继续作为 ...
- 常见的FPGA内串行数据采样的方式
总结下常见的对串行数据采样的三种方式: 1. 全采样存储方式: 采用过采样,用过采样时钟,用移位寄存器移位,把每次采样值都存起来.采用高速的过采样时钟运行. 然后等待触发条件,(就是找到数据的起始点条 ...
- C# .net基于Http实现web server(web服务)
原文:C# .net基于Http实现web server(web服务) 什么是 web server? 百度百科是这么解释的: Web Server中文名称叫网页服务器或web服务器.WEB服务器也 ...
- kettle于javascript步骤错误处理
javascript步骤错误处理 假设你熟悉kettle误差特性转换.你可能想知道javascript步骤如何使用.骤用户界面机制是同样的,在javascript步骤右击,选择"定义错误处理 ...