{"id":28917,"date":"2024-11-25T16:38:50","date_gmt":"2024-11-25T08:38:50","guid":{"rendered":"https:\/\/fwq.ai\/blog\/28917\/"},"modified":"2024-11-25T16:38:50","modified_gmt":"2024-11-25T08:38:50","slug":"%e5%be%ae%e4%bf%a1%e5%b0%8f%e7%a8%8b%e5%ba%8f%e7%bd%91%e7%bb%9capi-websocket%e8%af%a6%e7%bb%86%e8%af%b4%e6%98%8e","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/28917\/","title":{"rendered":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u7f51\u7edcAPI Websocket\u8be6\u7ec6\u8bf4\u660e"},"content":{"rendered":"<p>\u8fd9\u7bc7\u6587\u7ae0\u4e3b\u8981\u4e86\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u7f51\u7edc websocket\u8be6\u7ec6\u8bf4\u660e\u7684\u76f8\u5173\u8d44\u6599,\u9700\u8981\u7684\u670b\u53cb\u53ef\u4ee5\u53c2\u8003\u4e0b<\/p>\n<p><strong>wx.connectSocket()<\/strong><\/p>\n<p>\u521b\u5efa\u4e00\u4e2a WebSocket \u8fde\u63a5\uff1b\u4e00\u4e2a\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u540c\u65f6\u53ea\u80fd\u6709\u4e00\u4e2aWebSocket\u8fde\u63a5\uff0c\u5982\u679c\u5f53\u524d\u5df2\u5b58\u5728\u4e00\u4e2aWebSocket\u8fde\u63a5\uff0c\u4f1a\u81ea\u52a8\u5173\u95ed\u8be5\u8fde\u63a5\uff0c\u5e76\u91cd\u65b0\u521b\u5efa\u4e00\u4e2aWebSocket\u8fde\u63a5\u3002<\/p>\n<p><strong>OBJECT\u53c2\u6570\u8bf4\u660e\uff1a<\/strong><\/p>\n<table>\n<thead>\n<tr>\n<th>\u53c2\u6570<\/th>\n<th>\u7c7b\u578b<\/th>\n<th>\u5fc5\u586b<\/th>\n<th>\u8bf4\u660e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>url<\/td>\n<td><\/td>\n<td>\u662f<\/td>\n<td>\u5f00\u53d1\u8005\u5668\u5730\u5740\uff0c\u5fc5\u987b\u662fHTTPS\u534f\u8bae\uff0c\u4e14\u57df\u540d\u5fc5\u987b\u662f\u540e\u53f0\u914d\u7f6e\u7684\u5408\u6cd5\u57df\u540d<\/td>\n<\/tr>\n<tr>\n<td>data<\/td>\n<td>Object<\/td>\n<td>\u5426<\/td>\n<td>\u8bf7\u6c42\u7684\u6570\u636e<\/td>\n<\/tr>\n<tr>\n<td>header<\/td>\n<td>Object<\/td>\n<td>\u5426<\/td>\n<td>HTTP Header<\/td>\n<\/tr>\n<tr>\n<td>method<\/td>\n<td>String<\/td>\n<td>\u5426<\/td>\n<td>\u9ed8\u8ba4\u662fGET\uff0c\u6709\u6548\u503c\u4e3a\uff1a OPTIONS, GET, HEAD, POST, PUT, , TRACE, CONNECT<\/td>\n<\/tr>\n<tr>\n<td>success<\/td>\n<td>Function<\/td>\n<td>\u5426<\/td>\n<td>\u63a5\u53e3\u8c03\u7528\u6210\u529f\u7684 <\/td>\n<\/tr>\n<tr>\n<td>fail<\/td>\n<td>Function<\/td>\n<td>\u5426<\/td>\n<td>\u63a5\u53e3\u8c03\u7528\u5931\u8d25\u7684\u56de\u8c03\u51fd\u6570<\/td>\n<\/tr>\n<tr>\n<td>complete<\/td>\n<td>Function<\/td>\n<td>\u5426<\/td>\n<td>\u63a5\u53e3\u8c03\u7528\u7ed3\u675f\u7684\u56de\u8c03\u51fd\u6570\uff08\u8c03\u7528\u6210\u529f\u3001\u5931\u8d25\u90fd\u4f1a\u6267\u884c\uff09<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u793a\u4f8b\u4ee3\u7801\uff1a<\/p>\n<p><\/p>\n<pre>wx.connectSocket({\r\n&nbsp;url:\"test.php\",\r\n&nbsp;data:{\r\n&nbsp;x:\"\",\r\n&nbsp;y:\"\"\r\n&nbsp;},\r\n&nbsp;header:{&nbsp;\r\n&nbsp;'content-type':&nbsp;'application\/json'\r\n&nbsp;},\r\n&nbsp;method:\"GET\"\r\n})<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p><strong>wx.onSockeen(CBACK)<\/strong><\/p>\n<p>\u76d1\u542cWebSocket\u8fde\u63a5\u6253\u5f00<\/p>\n<p>\u793a\u4f8b\u4ee3\u7801\uff1a<\/p>\n<p><\/p>\n<pre>wx.connectSocket({\r\n&nbsp;url:\"test.php\"\r\n});\r\nwx.onSocketOpen(function(res){\r\n&nbsp;console.log(\"WebSocket\u8fde\u63a5\u5df2\u6253\u5f00\uff01\")\r\n})<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p><strong>wx.onSocketError(CALLBACK)<\/strong><\/p>\n<p>\u76d1\u542cWebSocket\u9519\u8bef<\/p>\n<p>\u793a\u4f8b\u4ee3\u7801\uff1a<\/p>\n<p><\/p>\n<pre>wx.connectSocket({\r\n&nbsp;url:\"test.php\"\r\n});\r\nwx.onSocketOpen(function(res){\r\n&nbsp;console.log(\"WebSocket\u8fde\u63a5\u5df2\u6253\u5f00\uff01\")\r\n})\r\nwx.onSocketError(function(res){\r\n&nbsp;console.log(\"WebSocket\u8fde\u63a5\u6253\u5f00\u5931\u8d25\uff0c\u8bf7\u68c0\u67e5\uff01\")\r\n})<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p><strong>wx.sSocketMessage(OBJECT)<\/strong><\/p>\n<p>\u901a\u8fc7WebSocket\u8fde\u63a5\u53d1\u9001\u6570\u636e\uff0c\u9700\u8981\u5148wx.connectSocket\uff0c\u5e76\u5728wx.onSocketOpen\u56de\u8c03\u4e4b\u540e\u624d\u80fd\u53d1\u9001\u3002<br \/>OBJECT\u53c2\u6570\u8bf4\u660e\uff1a<\/p>\n<table style=\"height: 53px;width: 434px\">\n<thead>\n<tr>\n<th>\u53c2\u6570<\/th>\n<th>\u7c7b\u578b<\/th>\n<th>\u5fc5\u586b<\/th>\n<th>\u8bf4\u660e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>data<\/td>\n<td>String<\/td>\n<td>\u662f<\/td>\n<td>\u9700\u8981\u53d1\u9001\u7684\u5185\u5bb9<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u793a\u4f8b\u4ee3\u7801\uff1a<\/p>\n<p><\/p>\n<pre>var&nbsp;socketOpen&nbsp;=&nbsp;false;\r\nvar&nbsp;socketMsgQueue&nbsp;=&nbsp;[]\r\nwx.connectSocket({\r\n&nbsp;url:\"test.php\"\r\n});\r\n\r\nwx.onSocketOpen(function(res){\r\n&nbsp;socketOpen&nbsp;=&nbsp;true;\r\n&nbsp;for(var&nbsp;i&nbsp;=&nbsp;0&nbsp;;&nbsp;i&nbsp;&lt;p&gt;&lt;strong&gt;wx.onSocketMessage(CALLBACK)&lt;\/strong&gt;&lt;\/p&gt;&lt;p&gt;\u76d1\u542cWebSocket\u63a5\u53d7\u5230\u670d\u52a1\u5668\u7684\u6d88\u606f\u4e8b\u4ef6&lt;br&gt;&lt;\/p&gt;&lt;p&gt;&lt;strong&gt;CALLBACK\u8fd4\u56de\u53c2\u6570\uff1a&lt;br&gt;&lt;\/strong&gt;&lt;\/p&gt;<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<table style=\"height: 53px;width: 558px\">\n<thead>\n<tr>\n<th>\u53c2\u6570<\/th>\n<th>\u7c7b\u578b<\/th>\n<th>\u8bf4\u660e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>data<\/td>\n<td>String<\/td>\n<td>\u670d\u52a1\u5668\u8fd4\u56de\u7684\u6d88\u606f<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u793a\u4f8b\u4ee3\u7801\uff1a<\/p>\n<p><\/p>\n<pre>wx.connectSocket({\r\n&nbsp;url:\"test.php\"\r\n});\r\n\r\nwx.onSocketMessage(function(res){\r\n&nbsp;console.log(\"\u6536\u5230\u670d\u52a1\u5668\u5185\u5bb9\uff1a\"&nbsp;+&nbsp;res.data)\r\n})<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p><strong>wx.closeSocket()<\/strong><\/p>\n<p>\u5173\u95edWebSocket\u8fde\u63a5<\/p>\n<p><strong>wx.onSocketClose(CALLBACK)<\/strong><\/p>\n<p>\u76d1\u542cWebSocket\u5173\u95ed<\/p>\n<p><\/p>\n<pre>wx.connectSocket({\r\n&nbsp;url:\"test.php\"\r\n});\r\n\r\n\/\/\u6ce8\u610f\u8fd9\u91cc\u6709\u65f6\u5e8f\u95ee\u9898\uff0c\r\n\/\/\u5982\u679cwx.connectSocket\u8fd8\u6ca1\u56de\u8c03wx.onSocketOpen,\u800c\u5148\u8c03\u7528wx.closeSocket,\u90a3\u4e48\u5c31\u505a\u4e0d\u5230\u5173\u95edWebSocket\u7684\u76ee\u7684\r\n\/\/\u5fc5\u987b\u5728WebSocket\u6253\u5f00\u671f\u95f4\u8c03\u7528wx.closeSocket\u624d\u80fd\u5173\u95ed\r\nwx.onSocketOpen(function(){\r\n&nbsp;wx.closeSocket()\r\n})\r\n\r\nwx.onSocketClose(function(res){\r\n&nbsp;console.log(\"WebSocket&nbsp;\u5df2\u5173\u95ed\uff01\")\r\n})<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>\u611f\u8c22\u9605\u8bfb\uff0c\u5e0c\u671b\u80fd\u5e2e\u52a9\u5230\u5927\u5bb6\uff0c\u8c22\u8c22\u5927\u5bb6\u5bf9\u672c\u7ad9\u7684\u652f\u6301\uff01<\/p>\n<p>\u4ee5\u4e0a\u5c31\u662f\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u7f51\u7edcAPI Websocket\u8be6\u7ec6\u8bf4\u660e\u7684\u8be6\u7ec6\u5185\u5bb9\uff0c\u66f4\u591a\u8bf7\u5173\u6ce8\u7c73\u4e91\u5176\u5b83\u76f8\u5173\u6587\u7ae0\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8fd9\u7bc7\u6587\u7ae0\u4e3b\u8981\u4e86\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u7f51\u7edc websocket\u8be6\u7ec6\u8bf4\u660e\u7684\u76f8\u5173\u8d44\u6599,\u9700\u8981\u7684\u670b\u53cb\u53ef\u4ee5\u53c2\u8003\u4e0b wx.connectSocket() \u521b\u5efa\u4e00\u4e2a WebSocket \u8fde\u63a5\uff1b\u4e00\u4e2a\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u540c\u65f6\u53ea\u80fd\u6709\u4e00\u4e2aWebSocket\u8fde\u63a5\uff0c\u5982\u679c\u5f53\u524d\u5df2\u5b58\u5728\u4e00\u4e2aWebSocket\u8fde\u63a5\uff0c\u4f1a\u81ea\u52a8\u5173\u95ed\u8be5\u8fde\u63a5\uff0c\u5e76\u91cd\u65b0\u521b\u5efa\u4e00\u4e2aWebSocket\u8fde\u63a5\u3002 OBJECT\u53c2\u6570\u8bf4\u660e\uff1a \u53c2\u6570 \u7c7b\u578b \u5fc5\u586b \u8bf4\u660e url \u662f \u5f00\u53d1\u8005\u5668\u5730\u5740\uff0c\u5fc5\u987b\u662fHTTPS\u534f\u8bae\uff0c\u4e14\u57df\u540d\u5fc5\u987b\u662f\u540e\u53f0\u914d\u7f6e\u7684\u5408\u6cd5\u57df\u540d data Object \u5426 \u8bf7\u6c42\u7684\u6570\u636e header Object \u5426 HTTP Header method String \u5426 \u9ed8\u8ba4\u662fGET\uff0c\u6709\u6548\u503c\u4e3a\uff1a OPTIONS, GET, HEAD, POST, PUT, , TRACE, CONNECT success Function \u5426 \u63a5\u53e3\u8c03\u7528\u6210\u529f\u7684 fail Function \u5426 \u63a5\u53e3\u8c03\u7528\u5931\u8d25\u7684\u56de\u8c03\u51fd\u6570 complete Function \u5426 \u63a5\u53e3\u8c03\u7528\u7ed3\u675f\u7684\u56de\u8c03\u51fd\u6570\uff08\u8c03\u7528\u6210\u529f\u3001\u5931\u8d25\u90fd\u4f1a\u6267\u884c\uff09 \u793a\u4f8b\u4ee3\u7801\uff1a wx.connectSocket({ &nbsp;url:&#8221;test.php&#8221;, &nbsp;data:{ &nbsp;x:&#8221;&#8221;, &nbsp;y:&#8221;&#8221; &nbsp;}, &nbsp;header:{&nbsp; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-28917","post","type-post","status-publish","format-standard","hentry","category-19"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/28917","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=28917"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/28917\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=28917"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=28917"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=28917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}