设为首页 收藏本站
查看: 856|回复: 0

[经验分享] 最近のWebSocket事情についてまとめとく

[复制链接]

尚未签到

发表于 2017-2-28 10:28:43 | 显示全部楼层 |阅读模式
最近のWebSocket事情についてまとめとく
HTML5, WebSocket
  id:Jxck(@Jxck_)さんからのリクエストもありましたので、現状でのWebSocket情報をまとめておきます。
  ※この情報は2010/9/1時点のものです。ご覧になっている時点の情報とは変わっている可能性があります。
  ※2010/9/1:いろいろ更新しました。

ざっくり説明
  一言で説明すると、WebServerとWebBrowser用の双方向通信用のプロトコル。
  Server側からのプッシュができるので、XHRでポーリングする必要がない。
  現行のWebSocket対応ブラウザ側には,same originポリシーによる制限はないようです。
仕様
  最新版の仕様を確認してください。
  The WebSocket API
  日本語版は以下を参照


  • Web Socket protocol — websocket_jp v0.44 documentation
  • W3C - 『The Web Sockets API』日本語訳 - HTML5.JP
  「仕様だけじゃよう分からん!」という人は以下を読むといいかも


  • 書籍(Amazon.co.jp: HTML5&API入門: 白石 俊平, 株式会社あゆた: 本)
  • 特集:Jettyで始めるWebSocket超入門|gihyo.jp … 技術評論社
  ※とりあえず一度動かしてみるとどんなものかわかるきがする。

大きな仕様変更
  近頃仕様が大きく変わりました。draft75以前とdraft76以降はほぼ別ものです。
  おおまかにいうと、ブラウザからサーバにつなぐときにハンドシェイクが必要なのですが、ハンドシェイクするときのヘッダ情報がかわりました。
  詳しくは以下サイトを参照。


  • 「続・ハイパフォーマンスWebサイト」に書かれたWebSocket記事への更新 - Nothing ventured, nothing gained.
  • WebSocket Draft75 «  ケンタテクブロ
  • Jettyで始めるWebSocket超入門:第6回 アプリケーションの作成と配布物の生成|gihyo.jp … 技術評論社
  下の記事をみた感じだとまだまだ今後も仕様が変わりそうですね。


  • こてさきAjax:WebSocketプロトコルのframe仕様が変更されそう - livedoor Blog(ブログ)

Serverの対応情報
  今のところ私が把握しているサーバ実装です。


  • Python

    • pywebsocket
    • django-websocket
    • gunicorn
    • meinheld
    • tornado
    • cyclone
    • txwebsockets
      
  • Java

    • Jetty
      
  • Ruby

    • em-eventmachine
    • rev-websocket
      
  • JavaScript

    • node.js+Socket.IO
      
  • Go

    • Go langのwebsocket
      
  • Erlang

    • MochiWebでの実装
      



    • shirasu -  Project Hosting on Google Code→Erlangの軽量HTTPライブラリMisultinをベースにしたWebSocketフレームワークになる予定だそうです(Thanks!id:MiCHiLUさん)

  • PHP

    • phpwebsocket -  Project Hosting on Google Code
      
  • Perl

    • typester’s anyevent-websocket-demo at master - GitHub
    • clkao’s Web-Hippie at master - GitHub
      
  • Clojure

    • http://github.com/ztellman/aleph:aleph
      

  ※最新版仕様の実装はpywebsocket,Goが対応が早かった。Chromeの実装確認用?(  WebSocket draft 76 のサーバサイドの実装始めた方いますか? -  html5-developers-jp | Google グループ  )
  ※node.js+Socket.IO+Socket.IO-nodeはAdobe Flash Socketを使うことで、IEなど未対応のブラウザとも通信できるようにしています!素敵!(参考->node.jsのSocket IO-nodeでWebSocket - but hopeful)

Browserの対応情報
  現状では75以前と76以降の両方に対応しているブラウザはありません。
  各ブラウザは最新版の仕様に追従しているみたいですね。
Browser75以前76 IE6~8×× Firefox3×× Firefox4×○ Opera10.6×× Safari5○× Chrome4,5○× Chrome6×○  ※websocket.js(http://github.com/gimite/web-socket-js/)を使うことで、IEなど未対応のブラウザとも通信できる様子。上述のSocket-IO-Nodeも使っています。
  ちょっと気になる発言をTwitterで発見!


     
  web-socket-js URL でFlash fallbackが出来るのは良いんだけど。。。 #wsbof
2010-08-31 19:34:24 via web
   

     
  プロキシ問題。wss (port 443) を使えば良いのだけれど、Flash fallbackだと駄目だった。誰かが修正してくれたのだけれど、今度は自己署名証明書じゃないと動かない現象 orz #wsbof
2010-08-31 19:56:34 via web
   
どんなことに使われてるか
  エコーサーバorチャットの例が多い感じ。面白そうな取り組みを紹介します。


  • KanasanさんのVNChttp://github.com/Kanasansoft/WebSocketRemote/downloads
  • ネットワーク上に流れるパケットを可視化するデモ・アプリケーションWebGL + WebSocket DEMO — Accense Technology, Inc.
  • こてさきAjax:HTMLプレゼンをWebSocketを利用し、iPhoneから操作するツールを作ってみました. - livedoor Blog(ブログ)
  • ServerからPushするサービスPusher - Realtime client push powered by HTML5 websockets, beyond AJAX
  • ChaosProxy

    • WebSocketクライアント実装部分のソースがかなり有益http://github.com/yuiseki/chaos_proxy
      
その他


  • イベント

    • Tweetvite :: WebSocket BoF
      


  • Kanasanさんのまとめ記事

    • Shibuya.js beyond HTML5 の発表資料 (Kanasansoft Web Lab.)
      


  • id:makotoiのPusher紹介

    • http://www.slideshare.net/inouemak/building-realtimewebslide
      


  • WebSocket用ベンチマーク

    • makoto’s wsbench at master - GitHub
      

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-348308-1-1.html 上篇帖子: web服务器简介及常用攻击软件(转载) 下篇帖子: [使用心得]maven2之m2eclipse使用手册之六使用Maven2插件创建一个简单的SSH2项目之glassfish篇(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表