{"id":691,"date":"2025-12-09T17:30:45","date_gmt":"2025-12-09T09:30:45","guid":{"rendered":"https:\/\/www.52runoob.com\/?p=691"},"modified":"2025-12-09T17:30:45","modified_gmt":"2025-12-09T09:30:45","slug":"skynet-call%e4%bd%bf%e7%94%a8%e8%af%a6%e7%bb%86%e8%a7%a3%e6%9e%90","status":"publish","type":"post","link":"https:\/\/www.52runoob.com\/index.php\/2025\/12\/09\/skynet-call%e4%bd%bf%e7%94%a8%e8%af%a6%e7%bb%86%e8%a7%a3%e6%9e%90\/","title":{"rendered":"skynet.call\u4f7f\u7528\u8be6\u7ec6\u89e3\u6790"},"content":{"rendered":"\n<p>\u4e0b\u9762\u7ed9\u4f60\u6574\u7406\u4e00\u4efd <strong>\u300askynet.call \u4f7f\u7528\u8be6\u7ec6\u89e3\u6790\uff08\u8d85\u5168\u7248\uff09\u300b<\/strong>\uff0c\u4ece\u5e95\u5c42\u539f\u7406\u5230\u4f7f\u7528\u793a\u4f8b\uff0c\u8ba9\u4f60\u5f7b\u5e95\u5f04\u61c2 Skynet \u5fae\u670d\u52a1\u6846\u67b6\u4e2d\u6700\u6838\u5fc3\u7684\u670d\u52a1\u95f4\u901a\u4fe1 API\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>\u4e00\u3001skynet.call \u662f\u4ec0\u4e48\uff1f<\/strong><\/h1>\n\n\n\n<p>\u5728 Skynet \u6846\u67b6\u4e2d\uff08Lua \u7248\u5206\u5e03\u5f0f\u6e38\u620f\u670d\u52a1\u5668\u6846\u67b6\uff09\uff0c<strong>\u6240\u6709\u903b\u8f91\u90fd\u662f\u670d\u52a1\uff08service\uff09\u4e4b\u95f4\u901a\u8fc7\u6d88\u606f\u901a\u4fe1\u5b8c\u6210\u7684<\/strong>\u3002<br>\u6d88\u606f\u5206\u4e24\u7c7b\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5f02\u6b65\u6d88\u606f\uff1a<code>skynet.send<\/code><\/strong><\/li>\n\n\n\n<li><strong>\u540c\u6b65\u6d88\u606f\uff1a<code>skynet.call<\/code><\/strong>\uff08\u91cd\u70b9\uff09<\/li>\n<\/ul>\n\n\n\n<p><strong><code>skynet.call<\/code> \u662f\u540c\u6b65 RPC \u8c03\u7528\uff0c\u4f1a\u963b\u585e\u7b49\u5f85\u8fd4\u56de\u7ed3\u679c<\/strong>\uff1a<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nlocal ret = skynet.call(address, &quot;lua&quot;, &quot;methodName&quot;, arg1, arg2)\n\n<\/pre><\/div>\n\n\n<p>\u8c03\u7528\u540e\u5f53\u524d coroutine \u4f1a\u6302\u8d77\uff0c\u76f4\u5230\u76ee\u6807\u670d\u52a1\u5904\u7406\u5b8c\u5e76\u8fd4\u56de\u7ed3\u679c\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>\u4e8c\u3001skynet.call \u7684\u53c2\u6570\u89e3\u6790<\/strong><\/h1>\n\n\n\n<p>skynet.call \u7684\u539f\u578b\uff1a<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nskynet.call(addr, typename, ...)\n\n<\/pre><\/div>\n\n\n<p>\u53c2\u6570\u89e3\u91ca\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u53c2\u6570<\/th><th>\u8bf4\u660e<\/th><\/tr><\/thead><tbody><tr><td><code>addr<\/code><\/td><td>\u670d\u52a1\u5730\u5740\uff0c\u5982 <code>:100004<\/code> \u6216 <code>serviceName<\/code><\/td><\/tr><tr><td><code>typename<\/code><\/td><td>\u6d88\u606f\u534f\u8bae\u7c7b\u578b\uff08\u5e38\u7528 <code>lua<\/code>\uff09<\/td><\/tr><tr><td><code>...<\/code><\/td><td>\u5b9e\u9645\u53d1\u9001\u7684\u53c2\u6570<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u4f8b\u5982\uff1a<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nlocal result = skynet.call(&quot;userCenter&quot;, &quot;lua&quot;, &quot;getUserInfo&quot;, uid)\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>\u4e09\u3001skynet.call \u548c skynet.send \u7684\u533a\u522b<\/strong><\/h1>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u529f\u80fd<\/th><th>skynet.send<\/th><th>skynet.call<\/th><\/tr><\/thead><tbody><tr><td>\u662f\u5426\u963b\u585e<\/td><td>\u274c \u4e0d\u963b\u585e<\/td><td>\u2714 \u963b\u585e\u7b49\u5f85\u8fd4\u56de<\/td><\/tr><tr><td>\u662f\u5426\u6709\u8fd4\u56de\u503c<\/td><td>\u274c \u65e0<\/td><td>\u2714 \u6709<\/td><\/tr><tr><td>\u4f7f\u7528\u573a\u666f<\/td><td>\u547d\u4ee4\u3001\u4e8b\u4ef6\u63a8\u9001<\/td><td>\u9700\u8981\u8fd4\u56de\u6570\u636e\u7684 RPC<\/td><\/tr><tr><td>\u6027\u80fd<\/td><td>\u66f4\u8f7b\u91cf<\/td><td>\u7565\u6709\u5f00\u9500<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u7b80\u5355\u7406\u89e3\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>send<\/code>\uff1a\u53d1\u901a\u77e5<\/li>\n\n\n\n<li><code>call<\/code>\uff1a\u53d1\u8bf7\u6c42\u5e76\u7b49\u56de\u590d<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>\u56db\u3001skynet.call \u7684\u5e95\u5c42\u539f\u7406\uff08\u5de5\u4f5c\u6d41\u7a0b\uff09<\/strong><\/h1>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u751f\u6210 sessionid<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u7c7b\u4f3c\u4e8e\u8bf7\u6c42\u552f\u4e00 ID<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u6302\u8d77\u5f53\u524d coroutine<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u6267\u884c call \u7684\u534f\u7a0b\u88ab\u6302\u8d77\uff0c\u8fdb\u5165\u7b49\u5f85\u961f\u5217<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u5c06\u8bf7\u6c42\u5305\u88c5\u6210\u6d88\u606f\u53d1\u9001\u7ed9\u76ee\u6807\u670d\u52a1<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u6d88\u606f\u7ed3\u6784\uff1a<code>{source, session, data}<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u76ee\u6807\u670d\u52a1\u5904\u7406\u6d88\u606f\u5e76\u8fd4\u56de\u5e94\u7b54\uff08response\uff09<\/strong><\/li>\n\n\n\n<li><strong>\u4ece session \u5524\u9192\u534f\u7a0b\uff0c\u5e76\u628a\u8fd4\u56de\u503c\u6062\u590d\u5230\u534f\u7a0b\u4e2d<\/strong><\/li>\n\n\n\n<li><strong>\u7ee7\u7eed\u6267\u884c call \u540e\u9762\u7684\u4ee3\u7801<\/strong><\/li>\n<\/ol>\n\n\n\n<p>\u8fc7\u7a0b\u662f\u5b8c\u5168\u5f02\u6b65\u975e\u963b\u585e\u7684\uff0c\u4f46\u5bf9\u8c03\u7528\u8005\u8868\u73b0\u4e3a\u540c\u6b65\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>\u4e94\u3001\u670d\u52a1\u7aef\u5982\u4f55\u54cd\u5e94 skynet.call\uff1f<\/strong><\/h1>\n\n\n\n<p>\u4f60\u5fc5\u987b\u5728\u670d\u52a1\u7aef\u4f7f\u7528\uff1a<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u65b9\u5f0f 1\uff1askynet.dispatch \u5904\u7406 RPC<\/strong><\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nlocal skynet = require &quot;skynet&quot;\n\nskynet.start(function()\n    skynet.dispatch(&quot;lua&quot;, function(session, address, cmd, ...)\n        if cmd == &quot;add&quot; then\n            local a, b = ...\n            skynet.ret(skynet.pack(a + b))  -- \u8fd4\u56de\u7ed3\u679c\n        end\n    end)\nend)\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\"><strong>\u65b9\u5f0f 2\uff1a\u4f7f\u7528 skynet.response<\/strong><\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nskynet.dispatch(&quot;lua&quot;, function(session, address, cmd, ...)\n    local reply = skynet.response()\n    if cmd == &quot;hello&quot; then\n        reply(true, skynet.pack(&quot;Hello from server&quot;))\n    end\nend)\n\n<\/pre><\/div>\n\n\n<p>\u4e24\u79cd\u65b9\u6cd5\u90fd\u53ef\u4ee5\u6b63\u5e38\u54cd\u5e94\u8c03\u7528\u8005\u7684 <code>call<\/code>\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>\u516d\u3001\u5ba2\u6237\u7aef\u8c03\u7528\u793a\u4f8b<\/strong><\/h1>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nlocal ret = skynet.call(serviceAddr, &quot;lua&quot;, &quot;add&quot;, 10, 20)\nprint(ret)   -- 30\n\n<\/pre><\/div>\n\n\n<p>\u975e\u5e38\u5e38\u7528\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>\u4e03\u3001skynet.call \u7684\u8fd4\u56de\u503c\u8be6\u89e3<\/strong><\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u591a\u8fd4\u56de\u503c\uff1a<code>skynet.pack()<\/code> \u652f\u6301\u591a\u503c<\/li>\n\n\n\n<li>\u7ed3\u6784\u4f53\uff1a\u901a\u8fc7 <code>skynet.pack\/table.pack<\/code> \u5b8c\u6574\u5c01\u88c5<\/li>\n\n\n\n<li>\u9519\u8bef\u65f6\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u670d\u52a1\u5730\u5740\u4e0d\u5b58\u5728 \u2192 \u62a5\u9519<\/li>\n\n\n\n<li>\u5982\u679c\u670d\u52a1\u672a\u8fd4\u56de session \u2192 \u6b7b\u9501\uff08call hang\uff09<\/li>\n\n\n\n<li>\u5982\u679c\u670d\u52a1\u5d29\u6e83 \u2192 \u629b\u5f02\u5e38<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>\u5efa\u8bae\u7edf\u4e00\u4f7f\u7528 <code>pcall<\/code> \u6355\u83b7\uff1a<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nlocal ok, ret = pcall(skynet.call, addr, &quot;lua&quot;, &quot;getInfo&quot;)\nif not ok then\n    skynet.error(&quot;RPC call failed:&quot;, ret)\nend\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>\u516b\u3001skynet.call \u8d85\u65f6\u673a\u5236<\/strong><\/h1>\n\n\n\n<p>Skynet \u9ed8\u8ba4\u6ca1\u6709\u8d85\u65f6\u673a\u5236\uff0c\u5982\u679c\u76ee\u6807\u670d\u52a1\u4e0d\u8fd4\u56de\uff0c\u8c03\u7528\u4f1a\u6c38\u4e45\u7b49\u5f85\u3002<\/p>\n\n\n\n<p>\u5e38\u89c1\u9632\u6b62\u6b7b\u9501\u7684\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u63a7\u5236\u5b50\u670d\u52a1\u903b\u8f91\u65f6\u95f4<\/li>\n\n\n\n<li>\u4f7f\u7528 skynet.timeout \u81ea\u5df1\u6a21\u62df\u8d85\u65f6<\/li>\n\n\n\n<li>\u7528\u4e13\u95e8\u7684 timer \/ watchdog \u670d\u52a1\u76d1\u63a7<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>\u4e5d\u3001call \u6b7b\u9501\u573a\u666f\u5206\u6790\uff08\u91cd\u70b9\uff09<\/strong><\/h1>\n\n\n\n<p>\u4e0b\u9762\u8fd9\u4e2a\u60c5\u51b5\u5f88\u5371\u9669\uff1a<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u670d\u52a1 A \u2192 call \u670d\u52a1 B<\/strong><\/h3>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u670d\u52a1 B \u53c8 call \u56de A<\/strong><\/h3>\n\n\n\n<p>\u5178\u578b\u6b7b\u9501\uff1a<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nA.call(B)\n    B.dispatch \u2192 call(A)\n        A.wait session \u2192 \u7b49 B \u8fd4\u56de\n\n<\/pre><\/div>\n\n\n<p>A \u7b49 B \u2192 B \u7b49 A \u2192 \u6b7b\u9501<\/p>\n\n\n\n<p>\u89e3\u51b3\u65b9\u5f0f\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8c03\u6574\u6210 send + call<\/li>\n\n\n\n<li>\u6216\u62c6\u5206\u670d\u52a1\u903b\u8f91<\/li>\n\n\n\n<li>\u6216\u4f7f\u7528 queue\uff08\u5982 skynet.queue\uff09\u4fdd\u8bc1\u540c\u6b65\u9501<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>\u5341\u3001skynet.call \u7684\u4f7f\u7528\u6700\u4f73\u5b9e\u8df5<\/strong><\/h1>\n\n\n\n<h3 class=\"wp-block-heading\">\u2714 \u5b9a\u4e49 API \u5c42\uff08\u6a21\u5757\u5316 RPC \u5165\u53e3\uff09<\/h3>\n\n\n\n<p>\u4f8b\u5982 userService.lua\uff1a<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nlocal CMD = {}\n\nfunction CMD.get(uid)\n    return db.query(uid)\nend\n\nfunction CMD.add(uid, delta)\n    return db.update(uid, delta)\nend\n\nreturn CMD\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">\u2714 \u4f7f\u7528 skynet.dispatch \u6765\u5206\u53d1<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nskynet.dispatch(&quot;lua&quot;, function(session, addr, cmd, ...)\n    local f = CMD&#x5B;cmd]\n    skynet.ret(skynet.pack(f(...)))\nend)\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">\u2714 \u8c03\u7528\u7aef\u7edf\u4e00\u5c01\u88c5<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nlocal user = {}\n\nfunction user.get(uid)\n    return skynet.call(&quot;.user&quot;, &quot;lua&quot;, &quot;get&quot;, uid)\nend\n\nreturn user\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>\u5341\u4e00\u3001\u5b8c\u6574\u793a\u4f8b\uff08\u4ece\u542f\u52a8\u5230\u8c03\u7528\uff09<\/strong><\/h1>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. \u670d\u52a1\u7aef user.lua<\/strong><\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nlocal skynet = require &quot;skynet&quot;\n\nlocal CMD = {}\n\nfunction CMD.getName(uid)\n    return &quot;User_&quot; .. uid\nend\n\nskynet.start(function()\n    skynet.dispatch(&quot;lua&quot;, function(session, source, cmd, ...)\n        local f = CMD&#x5B;cmd]\n        skynet.ret(skynet.pack(f(...)))\n    end)\nend)\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\"><strong>2. \u6ce8\u518c\u670d\u52a1<\/strong><\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nskynet.newservice(&quot;user&quot;)\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\"><strong>3. \u5ba2\u6237\u7aef call \u8c03\u7528<\/strong><\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nlocal name = skynet.call(&quot;.user&quot;, &quot;lua&quot;, &quot;getName&quot;, 1001)\nprint(name)\n\n<\/pre><\/div>\n\n\n<p>\u8f93\u51fa\uff1a<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nUser_1001\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>\u5341\u4e8c\u3001\u603b\u7ed3<\/strong><\/h1>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u529f\u80fd<\/th><th>\u8bf4\u660e<\/th><\/tr><\/thead><tbody><tr><td>\u4f5c\u7528<\/td><td>\u540c\u6b65 RPC \u8c03\u7528<\/td><\/tr><tr><td>\u963b\u585e<\/td><td>\u2713 \u963b\u585e\u7b49\u5f85\u7ed3\u679c<\/td><\/tr><tr><td>\u4f7f\u7528\u573a\u666f<\/td><td>\u9700\u8981\u670d\u52a1\u5668\u8fd4\u56de\u503c\u7684\u60c5\u51b5<\/td><\/tr><tr><td>\u5b9e\u73b0\u539f\u7406<\/td><td>session + coroutine \u6302\u8d77\u4e0e\u6062\u590d<\/td><\/tr><tr><td>\u6ce8\u610f\u70b9<\/td><td>\u6b7b\u9501\u3001\u65e0\u8fd4\u56de\u7684\u6c38\u4e45\u7b49\u5f85<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><code>skynet.call<\/code> \u662f Skynet \u7684\u57fa\u7840\u901a\u4fe1\u65b9\u5f0f\uff0c\u4e5f\u662f\u6784\u5efa\u5206\u5e03\u5f0f\u6e38\u620f\u670d\u52a1\u5668\u903b\u8f91\u7684\u5173\u952e\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e0b\u9762\u7ed9\u4f60\u6574\u7406\u4e00\u4efd \u300askynet.call \u4f7f\u7528\u8be6\u7ec6\u89e3\u6790\uff08\u8d85\u5168\u7248\uff09\u300b\uff0c\u4ece\u5e95\u5c42\u539f\u7406&#8230; <a class=\"more-link\" href=\"https:\/\/www.52runoob.com\/index.php\/2025\/12\/09\/skynet-call%e4%bd%bf%e7%94%a8%e8%af%a6%e7%bb%86%e8%a7%a3%e6%9e%90\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-691","post","type-post","status-publish","format-standard","hentry","category-2"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/posts\/691","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/comments?post=691"}],"version-history":[{"count":1,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/posts\/691\/revisions"}],"predecessor-version":[{"id":692,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/posts\/691\/revisions\/692"}],"wp:attachment":[{"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/media?parent=691"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/categories?post=691"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/tags?post=691"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}