根据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 ...
随机推荐
- 多快好省的做个app开发
从技术经理的角度算一算,如何可以多快好省的做个app [导读]前端时间,一篇“从产品经理的角度算一算,做个app需要多少钱”的文章在网上疯传,可见大家对互联网创业的热情!这次,从一名技术经理的角度再给 ...
- Android应用启动还有一个应用
已知包名和应用入口Activity 包名:org.ww 应用入口:Activity:org.ww.TestActivity Intent intent = new Intent(); intent.s ...
- 手把手教你如何加入到github的开源世界! (转)
我曾经一直想加入到开源项目中,但是因为没有人指导流程,网上看了很多,基本都是说了个大概,如果你也是一个初出茅庐的人,那么,我将以自己提交的一次开源代码为例,教会你步入开源的世界. 1,首先登陆到htt ...
- SVN目录对号图标(更新、冲突)不显示
长谈想知道,大约SVN这些冲突.变化.加入.不显示问题etc目录下的复选图标,退房的在线信息,多数说的更改icon的settings,后来,一点点仔细阅读SVN配有英文说明文档,我相信,改变是有点问题 ...
- CloudFoundry.yml修订
--- name: CFRELEASE02 director_uuid: fdd46e30-f2c5-41dc-9662-0976fdac5716 releases: - name: cf versi ...
- poj3903 Stock Exchange(最长上升子序列)
转载请注明出处:http://blog.csdn.net/u012860063 题目链接:id=3903">http://poj.org/problem?id=3903 Descrip ...
- Struts2+Spring+Hibernate step by step 11 ssh拦截验证用户登录到集成
注意:该系列文章从教师王健写了一部分ssh集成开发指南 引言: 之前没有引入拦截器之前,我们使用Filter过滤器验证用户是否登录,在使用struts2之后,全然能够使用拦截器,验证用户是否已经登录, ...
- Redis安装与基本配置(转)
一.下载与安装 wget http://download.redis.io/releases/redis-3.0.0.tar.gz tar -zxvf redis-3.0.0.tar.gz -c /u ...
- Timer Swing
一个Swing的例子,按钮控件上中文出现乱码: 试了网上的设置Font,或将汉字使用new String(str.getBytes(),"GBK")对展示的汉字进行编码.都无效. ...
- ListView单选的实现总结(转)
今天在智能停车场项目中需要实现PullToRefreshListView的单选功能,考虑到分页,刷新等,以前的实现方式是采用自己维护一个集合保存选中位置的选中状态,但这个方式比较繁琐,今天采用了lis ...