{"url":"https://kazuhira-r.hatenablog.com/entry/20130923/1379943325","provider_url":"https://hatena.blog","provider_name":"Hatena Blog","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fkazuhira-r.hatenablog.com%2Fentry%2F20130923%2F1379943325\" title=\"Clojure\u3067\u5b66\u3076\u3001UDP\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0 - Non Blocking IO - CLOVER\ud83c\udf40\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","image_url":null,"title":"Clojure\u3067\u5b66\u3076\u3001UDP\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0 - Non Blocking IO","blog_url":"https://kazuhira-r.hatenablog.com/","description":"\u524d\u56de\u306fReliable UDP\u3092\u66f8\u304f\u306e\u306bClojure\u3092\u3059\u3063\u98db\u3070\u3057\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u304c\u3001\u4eca\u56de\u306fClojure\u304b\u3089\u59cb\u3081\u307e\u3059\u3002\u304a\u984c\u306f\u3001NIO\u3092\u4f7f\u3063\u305fUDP Echo\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\uff0f\u30b5\u30fc\u30d0\u3002\u5916\u898b\u4e0a\u306e\u52d5\u4f5c\u306f\u3001\u524d\u3068\u5909\u308f\u3089\u306a\u3044\u306e\u3067\u7701\u7565\u2026\u3002\u6700\u521d\u306fClojure\u7248\u304b\u3089\u5165\u3063\u305f\u308f\u3051\u3067\u3059\u304c\u3001\u307e\u30fc\u3066\u3053\u305a\u308a\u307e\u3057\u305f\u3002udp_nio_server.clj (import '(java.net DatagramPacket InetSocketAddress) '(java.nio ByteBuffer) '(java.nio.channels DatagramChannel SelectionKey Selector) '(ja\u2026","version":"1.0","author_name":"Kazuhira","categories":["Clojure","Scala"],"height":"190","published":"2013-09-23 22:35:25","type":"rich","author_url":"https://blog.hatena.ne.jp/Kazuhira/","width":"100%","blog_title":"CLOVER\ud83c\udf40"}