{"blog_url":"https://ledsun.hatenablog.com/","provider_url":"https://hatena.blog","url":"https://ledsun.hatenablog.com/entry/2024/12/01/144300","version":"1.0","published":"2024-12-01 14:43:00","width":"100%","type":"rich","author_name":"ledsun","author_url":"https://blog.hatena.ne.jp/ledsun/","image_url":null,"blog_title":"@ledsun blog","title":"Async::WebSocket gem\u306e\u7d20\u632f\u308a \u305d\u306e4","description":"Async::WebSocket gem\u306e\u7d20\u632f\u308a \u305d\u306e3 - @ledsun blog \u306b\u3066\u3001\u30d6\u30ed\u30c3\u30af\u547c\u3073\u51fa\u3057\u304c\u5165\u308c\u5b50\u306b\u306a\u3063\u3066\u3044\u305f\u306e\u3092\u89e3\u6d88\u3057\u307e\u3057\u305f\u3002 \u6b21\u306bAsync::WebSocket::Adapters::HTTP.open\u3092\u5c55\u958b\u3057\u307e\u3059\u3002 require 'async/websocket/response' require 'async/websocket/connection' require 'protocol/websocket/framer' require 'protocol/websocket/extensions' require \"protocol/rack/request\u2026","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fledsun.hatenablog.com%2Fentry%2F2024%2F12%2F01%2F144300\" title=\"Async::WebSocket gem\u306e\u7d20\u632f\u308a \u305d\u306e4 - @ledsun blog\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","height":"190","provider_name":"Hatena Blog","categories":["Ruby","WebSocket"]}