{"id":4549,"date":"2015-12-07T01:08:16","date_gmt":"2015-12-06T17:08:16","guid":{"rendered":"https:\/\/sdeno.com\/?p=4549"},"modified":"2019-10-10T12:00:44","modified_gmt":"2019-10-10T04:00:44","slug":"nodejs-socket-io-js%e7%ae%80%e5%8d%95%e8%81%8a%e5%a4%a9%e6%a1%88%e4%be%8b","status":"publish","type":"post","link":"https:\/\/sdeno.com\/?p=4549","title":{"rendered":"nodejs socket.io.js\u7b80\u5355\u804a\u5929\u6848\u4f8b"},"content":{"rendered":"<p>\u8fd9\u4e2a\u662fnodejs\u5c01\u88c5\u597d\uff0c\u524d\u540e\u7aef\u7684\u9002\u7528\u4ee3\u7801\u3002\u524d\u7aef\u8fd9\u90e8\u5206\u5176\u5b9e\u4e5f\u662f\u7528\u5230Es6\u7684new WebSocket\u5bf9\u8c61<\/p>\n<p><span style=\"color: #ff0000;\">express\u548csocket.io\u4f7f\u7528\u6848\u4f8b\uff1a<\/span><\/p>\n<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/12\/socket.jpg\"><figure class=\"mdx-lazyload-container\" style=\"max-width:447px\"><div style=\"padding-top:88.814317673378%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"447\" height=\"397\" class=\"alignnone size-full wp-image-4550 lazyload\" title=\"socket\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/12\/socket.jpg\" alt=\"socket\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2015\/12\/socket.jpg 447w, https:\/\/sdeno.com\/wp-content\/uploads\/2015\/12\/socket-300x266.jpg 300w\" sizes=\"auto, (max-width: 447px) 100vw, 447px\"><\/figure><\/a>\n<p>\u53ea\u8981node 1.js \u542f\u52a8\u6587\u4ef6\u5c31i\u884c\u4e86 \u00a0\uff0c\u63a5\u7740\u6253\u5f00\u6d4f\u89c8\u5668\u5c31\u80fd\u5f00\u59cb\u804a\u5929<\/p>\n<p>\uff08\u6ce8\u610f\u5fc5\u987b\u5728\u5f53\u524d\u76ee\u5f55\u521b\u5efa\u540d\u4e3asocket.io\u7684\u76ee\u5f55\u548c\u6dfb\u52a0socket.io.js \u00a0 \u00a0socket.io\\socket.io.js\uff09<\/p>\n<p><a href=\"http:\/\/pan.baidu.com\/s\/1boaowXp\" target=\"_blank\" rel=\"noopener\">http:\/\/pan.baidu.com\/s\/1boaowXp<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">koa2\u548csocket.io\u4f7f\u7528\u6848\u4f8b\uff1a<\/span><\/p>\n<p>Server\u7aef\uff1a<\/p>\n<pre>const Koa = require('koa');\r\nconst app = new Koa();\r\nconst server = require('http').Server(app.callback());\r\nconst io = require('socket.io')(server);\r\nconst port = 8081;\r\n\r\nserver.listen(process.env.PORT || port, () =&gt; {\r\n  console.log(`app run at : http:\/\/127.0.0.1:${port}`);\r\n})\r\n\r\nio.on('connection', socket =&gt; {\r\n   console.log('\u521d\u59cb\u5316\u6210\u529f\uff01\u4e0b\u9762\u53ef\u4ee5\u7528socket\u7ed1\u5b9a\u4e8b\u4ef6\u548c\u89e6\u53d1\u4e8b\u4ef6\u4e86');\r\n   socket.on('send', data =&gt; {\r\n     console.log('\u5ba2\u6237\u7aef\u53d1\u9001\u7684\u5185\u5bb9\uff1a', data);\r\n     socket.emit('getMsg', '\u6211\u662f\u8fd4\u56de\u7684\u6d88\u606f... ...');\r\n   })\r\n\r\n   setTimeout( () =&gt; {\r\n     socket.emit('getMsg', '\u6211\u662f\u521d\u59cb\u53163s\u540e\u7684\u8fd4\u56de\u6d88\u606f... ...') \r\n   }, 3000)\r\n})<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\u5ba2\u6237\u7aef\uff1a<\/p>\n<pre>&lt;html&gt;\r\n&lt;head&gt;\r\n&lt;meta charset='UTF-8'&gt;\r\n&lt;title&gt;socket.io\u5ba2\u6237\u7aef&lt;\/title&gt;\r\n&lt;script src='\/socket.io\/socket.io.js'&gt;&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n&lt;button id='send'&gt;\u53d1\u9001\u6d88\u606f\u5230\u670d\u52a1\u5668&lt;\/button&gt;\r\n&lt;div&gt;\r\n&lt;h3&gt;\u670d\u52a1\u5668\u54cd\u5e94\u7684\u6d88\u606f\uff1a&lt;\/h3&gt;\r\n&lt;i id='msg'&gt;&lt;\/i&gt;\r\n&lt;\/div&gt;\r\n\r\n&lt;script&gt;\r\nvar socket = io('ws:\/\/localhost:8081');\r\nvar send = document.querySelector('#send');\r\nvar msg = document.querySelector('#msg');\r\n\r\nsocket.on('getMsg', data =&gt; {\r\n  console.log('\u670d\u52a1\u7aef\u6d88\u606f\uff1a', data);\r\n  msg.innerHTML = `${data} &lt;br\/&gt;`;\r\n})\r\n\r\nsend.onClick = () =&gt; {\r\n  console.log('\u70b9\u51fb\u4e86\u53d1\u9001\u6d88\u606f\uff01');\r\n  socket.emit('send', 'hello');\r\n}\r\n\r\n&lt;script&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p>\u6ce8\u610f\uff1a<br \/>\n&lt;span id=&#8217;notes-1&#8242;&gt;\u6ce81\uff1a\u5ba2\u6237\u7aef\u5f15\u7528\u7684&#8217;\/socket.io\/socket.io.js&#8217;\uff1b\u6e90\u4e8e\u670d\u52a1\u7aef\u8fd0\u884c\u540e\u4f1a\u5728\u6839\u76ee\u5f55\u52a8\u6001\u751f\u6210socket.io\u7684\u5ba2\u6237\u7aefjs\u6587\u4ef6\uff0c\u5ba2\u6237\u7aef\u53ef\u4ee5\u901a\u8fc7\u56fa\u5b9a\u8def\u5f84\/socket.io\/socket.io.js\u6dfb\u52a0\u5f15\u7528\u3002&lt;\/span&gt;<\/p>\n<p><a href=\"https:\/\/www.jianshu.com\/p\/7c6afcb95e18\" target=\"_blank\" rel=\"noopener\">https:\/\/www.jianshu.com\/p\/7c6afcb95e18<\/a><\/p>\n<p>\u5176\u4ed6\u53c2\u8003\uff1a<a href=\"https:\/\/blog.csdn.net\/walker_wq\/article\/details\/87457933\" target=\"_blank\" rel=\"noopener\">https:\/\/blog.csdn.net\/walker_wq\/article\/details\/87457933<\/a><\/p>\n<p>websocket\u77e5\u8bc6\u666e\u53ca\uff1a\u300a<a href=\"https:\/\/mp.weixin.qq.com\/s\/IRH0Y8wJjGKsydRWJ6KH7g\" target=\"_blank\" rel=\"noopener\">JS \u670d\u52a1\u5668\u63a8\u9001\u6280\u672f WebSocket \u5165\u95e8\u6307\u5317<\/a>\u300b<\/p>\n<p>&nbsp;<\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8fd9\u4e2a\u662fnodejs\u5c01\u88c5\u597d\uff0c\u524d\u540e\u7aef\u7684\u9002\u7528\u4ee3\u7801\u3002\u524d\u7aef\u8fd9\u90e8\u5206\u5176\u5b9e\u4e5f\u662f\u7528\u5230Es6\u7684new WebSocket\u5bf9\u8c61 ex [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[],"class_list":["post-4549","post","type-post","status-publish","format-standard","hentry","category-nodejs"],"_links":{"self":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/posts\/4549","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4549"}],"version-history":[{"count":0,"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/posts\/4549\/revisions"}],"wp:attachment":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4549"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4549"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}