{"blog_title":"\u6a4b\u672c\u8a73\u89e3","title":"JRuby\u3067socket client","width":"100%","version":"1.0","url":"https://shokai.hatenadiary.org/entry/20111105/1320516422","type":"rich","provider_url":"https://hatena.blog","image_url":null,"height":"190","provider_name":"Hatena Blog","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fshokai.hatenadiary.org%2Fentry%2F20111105%2F1320516422\" title=\"JRuby\u3067socket client - \u6a4b\u672c\u8a73\u89e3\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","author_url":"https://blog.hatena.ne.jp/shokai/","categories":["JRuby"],"blog_url":"https://shokai.hatenadiary.org/","author_name":"shokai","published":"2011-11-05 03:07:02","description":"Java\u306esocket\u3067client\u3092\u4f5c\u308a\u305f\u304f\u3066\u3001\u3069\u3093\u306a\u3093\u3060\u3063\u3051\u3068\u601d\u3063\u3066JRuby\u3067java.net.Socket\u3092\u4f7f\u3063\u3066\u307f\u305f #!/usr/bin/env jruby require 'rubygems' require 'eventmachine' require 'ArgsParser' require 'java' import 'java.io.BufferedReader' import 'java.io.InputStreamReader' import 'java.io.BufferedWriter' import 'java.io.OutputStreamWriter' pa\u2026"}