Help us understand the problem. What are the problem?
CodeZineç·¨éé¨ã§ã¯ãç¾å ´ã§æ´»èºãããããããã¼ãã¹ã¿ã¼ã«ããããã®ã«ã³ãã¡ã¬ã³ã¹ãDevelopers Summitãããã¨ã³ã¸ãã¢ã®çããã¾ããã¼ã¹ãããããã®ã¤ãã³ããDevelopers Boostããªã©ããã¾ãã¾ãªã«ã³ãã¡ã¬ã³ã¹ãä¼ç»ã»éå¶ãã¦ãã¾ãã
ããã«ã¡ã¯ãç§ã¯Sergey Kamardinï¼ã»ã«ã²ã¤ã»ã«ãã«ãã£ã³ï¼ã§ããMail.Ruï¼ãã·ã¢ã®é»åã¡ã¼ã«ãµã¼ãã¹ä¼ç¤¾ï¼ã§éçºè ããã¦ãã¾ãã ãã®è¨äºã§ã¯ãã©ã®ããã«ç§ãGoã使ã£ã¦é«è² è·å¯¾å¿ã®WebSocketãµã¼ããéçºãããã«ã¤ãã¦èª¬æãããã¨æã£ã¦ãã¾ãã ããã©ã¼ãã³ã¹æé©åã®ã¢ã¤ãã¢ããã¯ããã¯ãéãã¦ãWebSocketã®ç¥èã¯ãããã®ã®Goã«ã¤ãã¦ã¯ã»ã¨ãã©ç¥ããªãã¨ããæ¹ã®ãå½¹ã«ç«ã¦ãã°å¹¸ãã§ãã 1. ã¯ããã« ã¾ãã¯éçºã«è³ã£ãçµç·¯ã«ã¤ãã¦ãã©ããã¦ç§ãã¡ããã®ãµã¼ããå¿ è¦ã¨ããã®ãã説æãã¦ããã¾ãããã Mail.Ruã«ã¯å¤ãã®ã¹ãã¼ããã«ãªã·ã¹ãã ãããã¾ããã¦ã¼ã¶ã®eã¡ã¼ã«ä¿åããã®1ã¤ã§ããã·ã¹ãã å ãããã³ã·ã¹ãã ã¤ãã³ãã®ç¶æ 夿´ã追跡ããæ¹æ³ã«ã¯ããã¤ãã®ç¨®é¡ãããã¾ããããããã¯ä¸»ã«ç¶æ 夿´ã«é¢ããã·ã¹ãã éç¥ãã¾ãã¯å¨æçãªã·ã¹ãã ã®ãã¼ãª
ãã¨ã®çºç«¯ å°è¦æ¨¡ãªç¤¾å åãWebãµã¼ãã¹ã§ããã¼ã¿ã夿´ããããã¨ãéç¥ããããã«WebSocketãéä¿¡ãã¦ããã ãã®Webãµã¼ãã¹ã¯ããªã¹ã¯åããPCãããè¦ããããã«ãªã£ã¦ããã®ã ãã以åã¯Chromeã§å ¨ç»é¢è¡¨ç¤ºã«ãã¦ããã ãããã¦ã¼ã¶ã®èªèã®ããèªè¨¼ããã¦ãããµã¼ãã¹ãªã®ã§ããã¡ãã¡ãã°ã¤ã³ç»é¢ãåºãã®ã¯ã«ãã³æªããããªã¹ã¯ã«ã¯ããªã¹ã¯ã®å£ãç¨æããå端æ«ãèªèã§ãããããªããã¿ãä½ãã¹ãElectronã¯ã©ã¤ã¢ã³ãã使ããã ããªã¹ã¯åããã¨é·æéåããã¼ã¸ã表示ãç¶ãããã¨ã«ãªãã®ã§ãã·ã¹ãã ã¢ãããã¼ãæãªã©ãã¸ãã¯å«ãã¦ã®æ´æ°ããããå ´åãViewå´ãããªãã¼ãããããããã¾ããããªãçç¶ï¼ã¿ããããã«ãå¹ããªããªããªã©ï¼ãåºã¦ãããããã¯ã¨ã³ãå´ã§WebSocketéä¿¡ãããã¨ã«ã ã ã©ãã«ã䏿ããããªãã»ã»ã» ã³ãã¯ã·ã§ã³æã«403ã¨ã©ã¼ãåºãã View
Webã¢ããªã«ãªã¢ã«ã¿ã¤ã ã®åæ¹åéä¿¡ãå¿ è¦ãªå ´åãWebSocketãé¸ã¶ã®ã¯èªç¶ãªãã¨ã ã¨æãã¾ããã§ã¯ãã©ã®ãã¼ã«ã§WebSocketãµã¼ããæ§ç¯ãã¹ãã§ãããããããã©ã¼ãã³ã¹ã¯éè¦ã§ãããéçºã®ããã»ã¹ãè¦éããã¦ã¯ãªãã¾ãããããã©ã¼ãã³ã¹ãåºæºã«ããã ãã§ãªããéçºã®ãããããèæ ®ã«å ¥ããã¹ãã§ããããä»åã®å¤§åæ¦ã§ã¯ãClojureãC++ãElixirãGoãNodeJSãRubyã®ããããã®è¨èªã«ãã£ã¦æ £ç¨çãªææ³ã§å®è£ ãããã·ã³ãã«ãªWebSocketãµã¼ããæ¯è¼ãããã¨æãã¾ãã ãã¹ãå 容 ãµã¼ãã«å®è£ ããã®ã¯ã echo 㨠broadcast ã®2ã¤ã®ã¡ãã»ã¼ã¸ã®ã¿ãæ±ãé常ã«åç´ãªãããã³ã«ã§ããechoã¯éä¿¡ã¯ã©ã¤ã¢ã³ãã«è¿ãããããã¼ããã£ã¹ãã¯å ¨ã¦ã®æ¥ç¶ã¯ã©ã¤ã¢ã³ãã«éä¿¡ããã¾ããããã¦ããã¼ããã£ã¹ããå®äºããã¨ãçµæã¡ãã»ã¼ã¸ãéä¿¡è ã«è¿ããã¾ãã
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Webã§ã®ããã·ã¥æè¡ HTTPã¯ã¯ã©ã¤ã¢ã³ãï¼ãã©ã¦ã¶ï¼ãããªã¯ã¨ã¹ããã¦ãµã¼ãããã¬ã¹ãã³ã¹ãè¿ãä¸åä¸çåã®ãããã³ã«ãªã®ã§ãåºæ¬çã«ã¯ãµã¼ãå´ãããã©ã¦ã¶ã«æ°çæ å ±ããªã¢ã«ã¿ã¤ã ã§éç¥ï¼ããã·ã¥ï¼ã§ããããã«ã¯ã§ãã¦ãã¾ããã ãããããã§ãããã·ã¥ããããã¨ããå ´åã«ã©ããããã¨ãã話ãåºã¦ãã¾ããããæ¹ã«ã¯ä»¥ä¸ã®ãããªãã®ãããã¾ãã ãã¼ãªã³ã° ã¯ã©ã¤ã¢ã³ããããµã¼ãã«å®æçã«æ°çãåãåãããããã«ãã¾ãã æãåå§çãã¤ç¢ºå®ãªããæ¹ãæ¬ ç¹ã¯ãæå¤§ã§ãã¼ãªã³ã°ééã®åã ãéç¥ãé å»¶ããããã¨ã§ãã ãã³ã°ãã¼ãªã³ã°ï¼âC
ååSalesforceããã«ã½ã³ã«WebSocketã®ã¯ã¤ãºã¢ããªãåºãã¦ãããï½ã¨ãã話ãããããã ãä»ã®ã¨ãã身å 以å¤ããã¯ã»ã¨ãã©ã¢ã¯ã»ã¹ããã¦ãªãã£ã½ãã ã¾ãã»ã¨ãã©å®£ä¼ãã¦ãªãããããã¯å¥ã«æ§ããªããã ãã©ã審æ»ããã¦ãã形跡ããªãã®ã¯å¤§ä¸å¤«ãªã®ãããã(^^; ãã¦ãããã¯ãã¦ããWebSocketã¢ããªãä½ã£ããæ¯é試ãã¦ã¿ããã¨æã£ã¦ãããã¨ã®ã²ã¨ã¤ã«C10Kåé¡ã®æ¤è¨¼ã¨è¨ãã®ãããã¾ãã C10Kã¨ã¯ã¯ã©ã¤ã¢ã³ã1ä¸å°åé¡ã®ç¥ã§å¹³ããè¨ãã¨ãWebSocketã£ã¦ã¯ã©ã¤ã¢ã³ãã¨ãã£ã¨ã½ã±ããç¹ãã£ã±ã«ããããã ããããããªã®ã¯ã©ã¤ã¢ã³ãã®æ°ãã¡ãã£ã¨å¢ããããã£ã¨ããéã«ç ´ç¶»ããããããï¼ãã¨ããåé¡ã®ãã¨ã§ãã â æ¤è¨¼ã·ããªãª ä»åä½ã£ãã¢ããªã«ã¯ã«ã¼ã æ¯ã«ãã£ããã®æ©è½ãããã®ã§ãããå©ç¨ãããã¨ã«ãã¾ãã å ·ä½çãªç®æ¨æ°å¤ã¨ãã¦ã¯ã¨ãããã以ä¸ã®ããã«è¨å®ãã¾ã
è¿ãå°æ¥WebSocketãRailsã§ä½¿ç¨ã§ããããã«ãªãã¨èãã¨ããããããã¯ã¿ããªèãä¸ãã£ã¦è奮ãã¾ãã ãããã ããªãã®ã¦ã¼ã¶ã¯ãããªããWebSocketã使ç¨ãã¦ãããã©ãããªãã¦æ°ã«ãã¾ãã ã ã¦ã¼ã¶ã¯ãâå¿«é©ãªãªã¢ã«ã¿ã¤ã Webã¢ããªâãæ±ãã¦ããã ãããããã¯ãâå¿«é©ã§ãã«ããç°¡åãªãªã¢ã«ã¿ã¤ã Webã¢ããªâãæ±ãã¦ããã ãªãã¬ã¼ã·ã§ã³ã¯ãâãããã¤ãã¹ã±ã¼ã«ã管çãç°¡åãªãªã¢ã«ã¿ã¤ã Webã¢ããªâãæ±ãã¦ããã ä¸è¨å ¨ã¦ã®è¦æãWebSocketãããªãã¦ãããã®ãªãç´ æ´ããããã¨ã§ããããã®å®è£ ã®è©³ç´°ã¯é«ãã³ã¹ãããããã¾ãã è¶ é«æ§è½ã§å ¨äºéãªã¯ã©ã¤ã¢ã³ãã¨ãµã¼ãéã®éä¿¡ã¯ãæ¬å½ã«ç§ãã¡ã«å¿ è¦ãªã®ãï¼ WebSocketã¯ãã¯ã©ã¤ã¢ã³ãã«æ å ±ãé ä¿¡ããããã®ç°¡åãªAPIã¨ãã¯ã©ã¤ã¢ã³ãããWebãµã¼ãã¸æ å ±ãéä¿¡ããããã®ç°¡åãªAPIãæä¾ãã¾ãã ãµã¼ã
VMwareä¸ãLANä¸ãã¤ã³ã¿ã¼ãããä¸ã®CentOS6.3ã§åä½ç¢ºèªæ¸ã¿ãWebãµã¼ãã¯Apacheã ã¯ã©ã¤ã¢ã³ãã§ã®ç¢ºèªã¯ä»¥ä¸ã®éãã Mac, Windowsã®Chrome 22, Firefox 16, Safari 6, Opera 12(åä½ä¸å¯), IE 9(åä½ä¸å¯). iPad2(iOS 5.1.1), new iPad(iOS6), iPhone4~5(iOS6)ã®Safari, Chrome. Galaxy S2(Android2.3.3)ã®ãã©ã¦ã¶(åä½ä¸å¯). ç®æ¬¡WebSocket Chat ãµã¼ãã®å®è£ WebSocket Chat ã¯ã©ã¤ã¢ã³ãã®å®è£ HTMLJavaScriptWebSocket Chat ãµã¼ãã®èµ·åã¨ã¢ããªã®å®è¡WebSocket Chat ãµã¼ãã®å®è£ // VMwareä¸ã®CentOS6ã§åä½ãããã¨ãã®ä¾ // 8888çªãã¼ãã§
ãªã¢ã«ã¿ã¤ã webï¼ ãªã¢ã«ã¿ã¤ã ã«webã®æ å ±ããµã¼ãããã®pushéç¥ã§æ´æ°ããã æåã©ããã§ããã¨FBãChatworkãTwitterã¨ãã æè¡çã«ã¯æ¹æ³ã大ãã3ã¤ããã ã»ãã¼ãªã³ã°(Polling) ä¸å®ã®æéã«ä¸åº¦ãAjaxã§ãµã¼ãã«æ¥ç¶ãã æ°ããæ å ±ããªããã©ãã調ã¹ããæ¬ä¼¼çãªããã·ã¥åã ã»ã³ã¡ãã(Comet) ã¯ã©ã¤ã¢ã³ãããéããã¦ããã¬ã¹ãã³ã¹ãããã«è¿ããã«å¦çä¸ã®å½¢ãåã£ã¦ã³ãã¯ã·ã§ã³ãå¼µã£ãã¾ã¾ã«ããã æ°çã®æ å ±ããã£ãã¿ã¤ãã³ã°ã§ã¬ã¹ãã³ã¹ãè¿ãã ã»Websocket HTML5ããä½ãããæ°ããéä¿¡è¦æ ¼ãç¬èªã®ãããã³ã«ãæã¤ã å ç¨ã®2éãã®ãã¡ãªãããè£ãããå¹çããåæ¹åéä¿¡ãå¯è½ã ä»åã¯æè¡çãªæµããå«ããWebsocketãç¨ããã railsã§ã©ããã£ã¦æ§ç¯ããï¼ railsãç¨ããäºãmustã¨ãããªã調ã¹ãä¸ã ã¨å¤ã3ã¤ã
ããªãã«ã¨ã£ã¦éè¦ãªãããã¯ãååã®ææ°æ å ±ãå ¥æãã¾ãããææ°ã®æ´å¯ã¨ãã¬ã³ãã«é¢ããææ°æ å ±ãå³åº§ã«åãåãã¾ãããã ç¶ç¶çãªå¦ç¿ã®ããã«ãç¡æã®ãªã½ã¼ã¹ã«æè»½ã«ã¢ã¯ã»ã¹ãã¾ãããããããã¯ããã©ã³ã¹ã¯ãªããä»ãåç»ãããã³ãã¬ã¼ãã³ã°ææã è¨äºãä¿åãã¦ããã¤ã§ãèªããã¨ãã§ãã¾ãè¨äºãããã¯ãã¼ã¯ãã¦ãæºåãã§ããããã¤ã§ãèªãã¾ãã
ãæ¨æ¶ ããã«ã¡ã¯ããã³ãã³ã®New Bambooã¨ããä¼ç¤¾ã§Webã¨ã³ã¸ãã¢ã¨ãã¦åãã¦ãã@makoto_inoueã§ããããã®ã¨ãããPusherã¨ããWebSocketã®ã¯ã©ã¦ããµã¼ãã¹ã®éçºã«é¢ãã£ã¦ãã¾ããä»åãã3åã«æ¸¡ã£ã¦WebSocketã«é¢ããçæé£è¼ãæ å½ããã¦ããã ãã¾ãã ç§ãå«ããNew Bambooã®é¢ã ï¼æã ã¯èªåãã¡ã®ãã¨ãBambinoã¨å¼ãã§ãã¾ãï¼ãWebSocketã«ãªãèå³ãæã£ããã¨ãããã¨ããã¯ãã¾ããå®éã«ã¯ã©ã¦ããµã¼ãã¹ãå§ããã¾ã§ã«ããã£ãã¹ãã¼ãªã¼ãã話ããããã¨æãã¾ãããã®ã¹ãã¼ãªã¼ãéãã¦ãWebSocketãåãéãããªã¢ã«ã¿ã¤ã Webããªä¸çã¸ã®å¯è½æ§ãæè¡ç課é¡ãçããã¨å ±æã§ããã°ã¨æã£ã¦ãã¾ãã
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã¡ã³ããã³ã¹
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}