{"id":5310,"date":"2024-08-20T08:35:00","date_gmt":"2024-08-20T06:35:00","guid":{"rendered":"https:\/\/viva.racunalniske-novice.com\/primer-implementacije-sprotnega-tekstovnega-pogovora-s-knjiznico-signalr\/"},"modified":"2024-08-20T08:35:00","modified_gmt":"2024-08-20T06:35:00","slug":"primer-implementacije-sprotnega-tekstovnega-pogovora-s-knjiznico-signalr","status":"publish","type":"post","link":"https:\/\/viva.racunalniske-novice.com\/zh\/\u4f7f\u7528-signalr-\u5e93\u5b9e\u73b0\u5b9e\u65f6\u6587\u672c\u5bf9\u8bdd\u7684\u793a\u4f8b\/","title":{"rendered":"\u4f7f\u7528 SignalR \u5e93\u5b9e\u73b0\u5b9e\u65f6\u6587\u672c\u5bf9\u8bdd\u7684\u793a\u4f8b"},"content":{"rendered":"<p><em>\u4f5c\u8005\uff1a\u4e39\u5c3c\u65af\u00b7\u5df4\u5170\u7279\u3001\u57c3\u5185\u5409\u00b7\u80e1\u591a\u5e03\u96f7\u5179\u5c3c\u514b<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>HTTP\uff08\u8d85\u6587\u672c\u4f20\u8f93\u534f\u8bae\uff09\u534f\u8bae\u4ecd\u7136\u4e3b\u8981\u7528\u4e8e\u901a\u8fc7\u4e92\u8054\u7f51\u4f20\u8f93\u6570\u636e\u3002\u5176\u66f4\u73b0\u4ee3\u3001\u66f4\u5b89\u5168\u7684\u52a0\u5bc6\u884d\u751f\u54c1HTTPS\uff08HTTP Secure\uff09\u3002\u5b83\u4eec\u57fa\u4e8e\u5ba2\u6237\u7aef-\u670d\u52a1\u5668\u67b6\u6784\uff0c\u5176\u4e2d\u5ba2\u6237\u7aef\uff08\u82f1\u8bed\u5ba2\u6237\u7aef\uff09\u5411\u670d\u52a1\u5668\uff08\u82f1\u8bed\u670d\u52a1\u5668\uff09\u53d1\u9001\u8bf7\u6c42\uff08\u82f1\u8bed HTTP \u8bf7\u6c42\uff09\uff0c\u670d\u52a1\u5668\u7528\u54cd\u5e94\uff08\u82f1\u8bed HTTP \u54cd\u5e94\uff09\u5bf9\u5176\u8fdb\u884c\u54cd\u5e94\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2024\/08\/image.png\" alt=\"HTTP \u8bf7\u6c42\u548c\u54cd\u5e94\uff08\u6765\u6e90\uff1ahttps:\/\/www.telerik.com\/blogs\/real-time-communication-techniques\uff09\" class=\"wp-image-2538892\"\/><figcaption><sub>HTTP \u8bf7\u6c42\u548c\u54cd\u5e94\uff08\u6765\u6e90\uff1a <a href=\"https:\/\/www.telerik.com\/blogs\/real-time-communication-techniques\">https:\/\/www.telerik.com\/blogs\/real-time-communication-techniques<\/a>)<\/sub><\/figcaption><\/figure>\n\n\n\n<p>HTTP \u548c HTTPS \u9002\u7528\u4e8e\u7b80\u5355\u7684\u8bf7\u6c42-\u54cd\u5e94\u4f20\u8f93\uff08\u4f8b\u5982\uff0c\u6839\u636e\u5ba2\u6237\u7aef\u7684\u8bf7\u6c42\u4e0b\u8f7d HTML \u6587\u4ef6\uff09\u3002\u4f7f\u7528\u8fd9\u4e24\u79cd\u534f\u8bae\uff0c\u7528\u6237\u53ea\u80fd\u5728\u53d1\u51fa\u65b0\u8bf7\u6c42\u65f6\u83b7\u53d6\u66f4\u65b0\u7684\u6570\u636e\uff0c\u56e0\u6b64\u5b83\u4eec\u4e0d\u592a\u9002\u5408\u5b9e\u65f6\u6570\u636e\u4f20\u8f93\uff08\u4f8b\u5982\uff0c\u5728\u7ebf\u804a\u5929\u3001\u5728\u7ebf\u89c6\u9891\u6e38\u620f\u3001\u4f4d\u7f6e\u8ddf\u8e2a\u7b49\uff09\uff0c\u800c\u73b0\u4ee3 Web \u5e94\u7528\u7a0b\u5e8f\u7684\u5927\u90e8\u5206\u529f\u80fd\u90fd\u57fa\u4e8e\u5b9e\u65f6\u6570\u636e\u4f20\u8f93\u3002\u5b9e\u73b0\u654f\u6377\u6027\u6709\u5f88\u591a\u4e0d\u540c\u7684\u3001\u66f4\u597d\u7684\u65b9\u6cd5\uff0c\u6bcf\u79cd\u65b9\u6cd5\u90fd\u6709\u5404\u81ea\u7684\u4f18\u7f3a\u70b9\u3002 <\/p>\n\n\n\n<p>\u6700\u7b80\u5355\u7684\u5b9e\u73b0\u65b9\u6cd5\u662f\u5b9a\u671f\u8f6e\u8be2\uff0c\u5373\u5ba2\u6237\u7aef\u5728\u6bcf\u4e2a\u8f6e\u8be2\u95f4\u9694\u5185\u5411\u670d\u52a1\u5668\u91cd\u590d\u53d1\u9001\u65b0\u6570\u636e\u8bf7\u6c42\uff0c\u800c\u4e0d\u7ba1\u5185\u5bb9\u662f\u5426\u53d1\u751f\u53d8\u5316\u3002\u5c3d\u7ba1\u8fd9\u79cd\u65b9\u6cd5\u5f88\u7b80\u5355\uff0c\u4f46\u5b83\u5e76\u4e0d\u9002\u5408\u9700\u8981\u8bb8\u591a\u5ba2\u6237\u7aef\u8bbf\u95ee\u670d\u52a1\u5668\u7684\u5927\u578b\u670d\u52a1\uff0c\u56e0\u4e3a\u5927\u91cf\u4e0d\u5fc5\u8981\u7684\u91cd\u590d\u8bf7\u6c42\u53ef\u80fd\u4f1a\u4f7f\u670d\u52a1\u5668\u8fc7\u8f7d\uff0c\u4ece\u800c\u964d\u4f4e\u670d\u52a1\u7684\u6027\u80fd\u3002 &nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2024\/08\/image-2.png\" alt=\"\" class=\"wp-image-2538894\"\/><figcaption><sub>\u5f53\u524d\u5ba1\u8baf\uff08\u6765\u6e90\uff1a <a href=\"https:\/\/www.telerik.com\/blogs\/real-time-communication-techniques\">https:\/\/www.telerik.com\/blogs\/real-time-communication-techniques<\/a>)<\/sub><\/figcaption><\/figure>\n\n\n\n<p>\u8fd9\u79cd\u6539\u8fdb\u662f\u901a\u8fc7\u5f15\u5165\u957f\u671f\u8f6e\u8be2\u6765\u5b9e\u73b0\u7684\uff0c\u5176\u4e2d\u5ba2\u6237\u7aef\u4ee5\u76f8\u540c\u7684\u65b9\u5f0f\u5411\u670d\u52a1\u5668\u53d1\u9001\u8bf7\u6c42\uff0c\u4f46\u670d\u52a1\u5668\u5728\u68c0\u6d4b\u5230\u65b0\u6570\u636e\u5b58\u5728\u4e4b\u524d\u4e0d\u4f1a\u54cd\u5e94\u5b83\u4eec\u3002\u8fd9\u79cd\u65b9\u6cd5\u7684\u7f3a\u70b9\u662f\u5ba2\u6237\u7aef\u5fc5\u987b\u5b9a\u4e49\u4e00\u5b9a\u7684\u65f6\u95f4\u95f4\u9694\uff0c\u5728\u6b64\u4e4b\u540e\u5ba2\u6237\u7aef\u4f1a\u5c06\u670d\u52a1\u5668\u7684\u4e0d\u6d3b\u52a8\u89c6\u4e3a\u9519\u8bef\u3002\u8fd9\u7ed9\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u8bbe\u7f6e\u589e\u52a0\u4e86\u4e00\u5c42\u989d\u5916\u7684\u590d\u6742\u6027\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2024\/08\/image-3.png\" alt=\"\" class=\"wp-image-2538896\"\/><figcaption><sub>\u957f\u65f6\u95f4\u7684\u5ba1\u8baf\uff08\u6765\u6e90\uff1a <a href=\"https:\/\/www.telerik.com\/blogs\/real-time-communication-techniques\">https:\/\/www.telerik.com\/blogs\/real-time-communication-techniques<\/a>)<\/sub><\/figcaption><\/figure>\n\n\n\n<p>\u73b0\u4ee3 HTML5 \u6807\u51c6\u8fd8\u63d0\u4f9b\u4e86\u4e00\u4e2a\u79f0\u4e3a\u670d\u52a1\u5668\u53d1\u9001\u4e8b\u4ef6\u7684 API\u3002\u5728\u8fd9\u79cd\u534f\u8bae\u4e2d\uff0c\u5ba2\u6237\u7aef\u4e0d\u5fc5\u5b9a\u671f\u5411\u670d\u52a1\u5668\u53d1\u9001\u8bf7\u6c42\uff0c\u4f46\u670d\u52a1\u5668\u4f1a\u5728\u53d1\u751f\u66f4\u6539\u65f6\u91cd\u65b0\u53d1\u9001\u5fc5\u8981\u7684\u6570\u636e\uff0c\u4ece\u800c\u4fc3\u8fdb\u5b9e\u65f6\u901a\u4fe1\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2024\/08\/image-4.png\" alt=\"\" class=\"wp-image-2538898\"\/><figcaption><sub>\u670d\u52a1\u5668\u53d1\u9001\u4e8b\u4ef6\uff08\u6765\u6e90\uff1a <a href=\"https:\/\/www.telerik.com\/blogs\/real-time-communication-techniques\">https:\/\/www.telerik.com\/blogs\/real-time-communication-techniques<\/a>)<\/sub><\/figcaption><\/figure>\n\n\n\n<p>HTML5 \u6807\u51c6\u8fd8\u63d0\u4f9b\u4e86 WebSockets \u534f\u8bae\uff0c\u53ef\u5b9e\u73b0\u771f\u6b63\u7684\u53cc\u5411\u5b9e\u65f6\u901a\u4fe1\u3002\u5728\u5efa\u7acb\u5f00\u59cb\u65f6\uff0c\u4f1a\u6267\u884c\u63e1\u624b\uff0c\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u5c31\u4ed6\u4eec\u5c06\u4f7f\u7528\u7684\u6807\u51c6\u96c6\u8fbe\u6210\u4e00\u81f4\u3002\u6210\u529f\u63e1\u624b\u540e\uff0c\u4e24\u4e2a\u53c2\u4e0e\u8005\u4e4b\u95f4\u4f1a\u5efa\u7acb\u4e00\u4e2a\u6709\u5c0f\u5ef6\u8fdf\u7684\u6c38\u4e45\u8fde\u63a5\u3002\u5f53\u6d89\u53ca\u70b9\u5bf9\u70b9\u8fde\u63a5\uff08\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u4e4b\u95f4\u7684\u76f4\u63a5\u8fde\u63a5\uff09\u65f6\uff0c\u8be5\u534f\u8bae\u7279\u522b\u6709\u7528\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2024\/08\/image-5-e1724134052479.png\" alt=\"\" class=\"wp-image-2538902\"\/><\/figure>\n\n\n\n<p>\u9664\u4e86\u7ecf\u5178\u7684\u5ba2\u6237\u7aef-\u670d\u52a1\u5668\u67b6\u6784\u4e4b\u5916\uff0c\u8fd8\u6709\u5176\u4ed6\u89e3\u51b3\u65b9\u6848\uff0c\u5176\u4e2d\u5ba2\u6237\u7aef\u4e4b\u95f4\u7684\u8fde\u63a5\u4e0d\u901a\u8fc7\u670d\u52a1\u5668\uff0c\u800c\u662f\u76f4\u63a5\u5728\u540c\u65f6\u626e\u6f14\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u89d2\u8272\u7684\u5ba2\u6237\u7aef\u4e4b\u95f4\uff08\u8fd9\u4e9b\u5bf9\u7b49\u7f51\u7edc\uff09\u3002 WebRTC \u662f\u6b64\u7c7b\u7f51\u7edc\u4e2d\u5b9e\u65f6\u901a\u4fe1\u7684\u6d41\u884c\u534f\u8bae\u3002<\/p>\n\n\n\n<p>\u5728.NET\u73af\u5883\u4e2d\u8fdb\u884c\u5b9e\u65f6\u901a\u4fe1\uff0c\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u5f00\u6e90\u7684SignalR\u5e93\uff0c\u5b83\u662fASP.NET Core Web\u6846\u67b6\u7684\u4e00\u90e8\u5206\uff0c\u56e0\u6b64\u5f88\u5bb9\u6613\u5c06\u5176\u6dfb\u52a0\u5230\u73b0\u6709\u9879\u76ee\u4e2d\u4f5c\u4e3a\u9644\u52a0\u7ea7\u522b\u7684\u4e2d\u95f4\u4ef6\u3002\u5904\u7406\u4f20\u5165\u7684\u8bf7\u6c42\u3002\u8be5\u5e93\u6a21\u62df\u4ece\u670d\u52a1\u5668\u7aef\u5bf9\u5ba2\u6237\u7aef\u7684\u65b9\u6cd5\u8c03\u7528\u548c\u4ece\u5ba2\u6237\u7aef\u5bf9\u670d\u52a1\u5668\u7684\u65b9\u6cd5\u8c03\u7528\uff08\u8fdc\u7a0b\u8fc7\u7a0b\u8c03\u7528 - RPC\uff09\uff0c\u4f46\u4e0d\u4fdd\u8bc1\u7f16\u53f7\u7684\u9002\u5f53\u6027\u3002\u53c2\u6570\u53ca\u5176\u7c7b\u578b\u3002\u4ece\u670d\u52a1\u5668\u4e0a\uff0c\u6211\u4eec\u53ef\u4ee5\u8c03\u7528\u6240\u6709\u5ba2\u6237\u7aef\u3001\u4e00\u7ec4\u7279\u5b9a\u5ba2\u6237\u7aef\u6216\u4ec5\u4e00\u4e2a\u5ba2\u6237\u7aef\u4e0a\u7684\u65b9\u6cd5\u3002<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2024\/08\/image-6.png\" alt=\"\" class=\"wp-image-2538908\"\/><figcaption><sub>SignalR \u5e93\u5de5\u4f5c\u539f\u7406\u56fe\uff08<a href=\"https:\/\/learn.microsoft.com\/en-us\/aspnet\/signalr\/overview\/getting-started\/introduction-to-signalr\">https:\/\/learn.microsoft.com\/en-us\/aspnet\/signalr\/overview\/getting-started\/introduction-to-signalr<\/a>)<\/sub><\/figcaption><\/figure><\/div>\n\n\n\n<p>\u5b83\u7684\u4e3b\u8981\u4f18\u70b9\u662f\u5b9e\u73b0\u7b80\u5355\uff0c\u8fd9\u8981\u5f52\u529f\u4e8e\u8bb8\u591a\u4e0d\u540c\u5e73\u53f0\u7684\u8f6f\u4ef6\u5f00\u53d1\u5305 (SDK)\uff0c\u8fd9\u5411\u7a0b\u5e8f\u5458\u9690\u85cf\u4e86\u670d\u52a1\u7684\u5185\u90e8\u5de5\u4f5c\u539f\u7406\uff0c\u5e76\u4e14\u53ef\u4ee5\u901a\u8fc7 Azure SignalR \u670d\u52a1\u8f7b\u677e\u6258\u7ba1\u3002\u53e6\u4e00\u4e2a\u4f18\u70b9\u662f\u670d\u52a1\u672c\u8eab\u4f1a\u5728\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u4e4b\u95f4\u9009\u62e9\u6700\u5408\u9002\u7684\u8fde\u63a5\u7c7b\u578b\uff08\u5982\u4e0a\u6240\u8ff0\uff09\u3002<\/p>\n\n\n\n<p>\u8be5\u5e93\u7684\u4f7f\u7528\u57fa\u4e8e\u79f0\u4e3a\u96c6\u7ebf\u5668\u7684\u7279\u6b8a\u7c7b\uff0c\u5b83\u4ee3\u8868\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u4e4b\u95f4\u8fde\u63a5\u7684\u62bd\u8c61\u3002\u5bf9\u4e8e\u5b83\u4eec\uff0c\u6211\u4eec\u5b9a\u4e49\u5ba2\u6237\u7aef\u53ef\u4ee5\u5728\u670d\u52a1\u5668\u4e0a\u8c03\u7528\u7684\u65b9\u6cd5\u3002<\/p>\n\n\n\n<p>\u4e0b\u9762\u7684\u793a\u4f8b\u663e\u793a\u4e86\u7b80\u5355\u6587\u672c\u5bf9\u8bdd\u5b9e\u73b0\u7684\u793a\u4f8b\u3002\u9996\u5148\uff0c\u6211\u4eec\u5b9a\u4e49\u670d\u52a1\u5668\u4e0a\u5bf9\u8bdd\u7684\u57fa\u672c\u8282\u70b9\u3002\u8be5\u7c7b\u7684\u65b9\u6cd5\u8868\u793a\u53ef\u4ee5\u7531\u670d\u52a1\u5668\u4e0a\u7684\u5ba2\u6237\u7aef\u8c03\u7528\u7684\u65b9\u6cd5\u3002\u5f53\u8c03\u7528SendMessage\u65b9\u6cd5\u65f6\uff0c\u5ba2\u6237\u7aef\u53d1\u9001\u7528\u6237ID\uff08userId\uff09\u548c\u6d88\u606f\u5185\u5bb9\uff08message\uff09\uff0c\u800c\u670d\u52a1\u5668\u5219\u5728\u6240\u6709\u5ba2\u6237\u7aef\u4e0a\u8c03\u7528\u5e26\u6709\u6307\u5b9a\u53c2\u6570\u7684ReceiveMessage\u65b9\u6cd5\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2024\/08\/image-7.png\" alt=\"\" class=\"wp-image-2538942\"\/><figcaption><sub>.NET\u73af\u5883\u4e0b\u670d\u52a1\u5668\u7aef\u6587\u672c\u5bf9\u8bdd\u7684\u5b9e\u73b0\uff08\u81ea\u5df1\u6e90\u7801\uff09<\/sub><\/figcaption><\/figure>\n\n\n\n<p>\u4e0b\u9762\u7684\u793a\u4f8b\u663e\u793a\u4e86\u4f7f\u7528\u5b98\u65b9\u5e93 (@microsoft\/signalr) \u7684 JavaScript Web \u5ba2\u6237\u7aef\u5b9e\u73b0\u3002\u5ba2\u6237\u7aef\u8fde\u63a5\u5230\u8282\u70b9 URL\uff08\u4ee5\u4e0b\u793a\u4f8b\u4e2d\u7684 \/chat\uff09\u3002\u8fde\u63a5\u7531\u8fde\u63a5\u5bf9\u8c61\u8868\u793a\u3002 on \u65b9\u6cd5\u8868\u793a\u65b9\u6cd5\u8c03\u7528\u7684\u4fa6\u542c\u5668\uff0c\u5176\u540d\u79f0\u4f5c\u4e3a\u7b2c\u4e00\u4e2a\u53c2\u6570\u7ed9\u51fa\uff0c\u7b2c\u4e8c\u4e2a\u53c2\u6570\u7ed9\u51fa\u5bf9\u4e8b\u4ef6\u6267\u884c\u7684\u51fd\u6570\u3002\u6211\u4eec\u901a\u8fc7\u8fde\u63a5\u5bf9\u8c61\u7684invoke\u65b9\u6cd5\u6765\u5b9e\u73b0\u670d\u52a1\u5668\u4e0a\u7684\u65b9\u6cd5\uff0c\u8be5\u65b9\u6cd5\u9700\u8981\u65b9\u6cd5\u7684\u540d\u79f0\u4f5c\u4e3a\u7b2c\u4e00\u4e2a\u53c2\u6570\uff0c\u540e\u9762\u8ddf\u7740\u5b83\u7684\u53c2\u6570\u3002<\/p>\n\n\n\n<p>\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u6570\u636e\u4ee5 JSON \u683c\u5f0f\u5728\u670d\u52a1\u5668\u548c\u5ba2\u6237\u7aef\u4e4b\u95f4\u4f20\u8f93\uff0c\u4f46\u8be5\u5e93\u8fd8\u652f\u6301\u66f4\u9ad8\u6548\u7684 MessagePack \u683c\u5f0f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2024\/08\/image-8.png\" alt=\"\" class=\"wp-image-2538944\"\/><figcaption><sub>\u7528JavaScript\u8bed\u8a00\u5b9e\u73b0Web\u5ba2\u6237\u7aef\uff08\u81ea\u5df1\u7684\u6e90\u7801\uff09<\/sub><\/figcaption><\/figure>\n\n\n\n<p>\u5c3d\u7ba1\u8be5\u5e93\u6781\u5927\u5730\u65b9\u4fbf\u4e86\u5f00\u53d1\uff0c\u4f46\u5b83\u4e5f\u6709\u5176\u7f3a\u70b9\u3002\u4e3b\u8981\u95ee\u9898\u4e4b\u4e00\u662f\u7cfb\u7edf\u81ea\u6258\u7ba1\u548c\u786e\u4fdd\u4e0d\u95f4\u65ad\u8fd0\u884c\u7684\u53ef\u6269\u5c55\u6027\uff0c\u56e0\u4e3a\u5176\u5b9e\u65bd\u5f88\u96be\u5206\u5e03\u5728\u591a\u4e2a\u5355\u72ec\u7684\u670d\u52a1\u5668\u4e0a\u3002\u5982\u679c\u6211\u4eec\u60f3\u8981\u51cf\u5c11\u8fdc\u7a0b\u7528\u6237\u7684\u5ef6\u8fdf\u5e76\u5728\u591a\u4e2a\u4e0d\u540c\u4f4d\u7f6e\u8fdb\u884c\u6258\u7ba1\uff0c\u90a3\u4e48\u8fd9\u4e00\u70b9\u5c24\u5176\u56f0\u96be\uff0c\u56e0\u4e3a\u89e3\u51b3\u65b9\u6848\u8bbe\u8ba1\u4ec5\u9650\u4e8e\u4e00\u4e2a\u3002\u6b64\u5916\uff0c\u8be5\u5e93\u4e0d\u786e\u4fdd\u6d88\u606f\u7684\u53ef\u9760\u4f20\u9012\u548c\u6392\u5e8f\uff0c\u8fd9\u53ef\u80fd\u4f1a\u964d\u4f4e\u7528\u6237\u4f53\u9a8c\u3002<\/p>","protected":false},"excerpt":{"rendered":"<p>\u4f5c\u8005\uff1aDenis Balant\u3001Enej Hudobreznik HTTP\uff08\u8d85\u6587\u672c\u4f20\u8f93\u534f\u8bae\uff09\u53ca\u5176\u66f4\u73b0\u4ee3\u3001\u66f4\u5b89\u5168\u7684\u52a0\u5bc6\u884d\u751f\u534f\u8bae HTTPS\uff08HTTP \u5b89\u5168\u534f\u8bae\uff09\u4ecd\u7136\u4e3b\u8981\u7528\u4e8e\u4e92\u8054\u7f51\u6570\u636e\u4f20\u8f93\u3002\u5b83\u4eec\u57fa\u4e8e\u5ba2\u6237\u7aef-\u670d\u52a1\u5668\u67b6\u6784\uff0c\u5ba2\u6237\u7aef\u5411\u670d\u52a1\u5668\u53d1\u9001\u8bf7\u6c42\uff08HTTP \u8bf7\u6c42\uff09\uff0c\u670d\u52a1\u5668\u8fd4\u56de\u54cd\u5e94 [\u2026]<\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[66],"tags":[],"class_list":["post-5310","post","type-post","status-publish","format-standard","hentry","category-programi"],"acf":{"subtitle":"Kljub nenehnemu razvoju spletnih strani so tehnologije v ozadju skozi \u010das ostale zelo podobne. Ker splet ni dom le sodobnim stranem, ampak tudi starej\u0161im, ki morajo delovati tudi v sodobnih brskalnikih, so dana\u0161nje tehnologije pogosto le izbolj\u0161ane in dopolnjene razli\u010dic tistih, ki so nastale \u017ee ob samem za\u010detku svetovnega spleta. Naprednej\u0161e sodobne funkcije, ki jih te re\u0161itve ne podpirajo, pa omogo\u010dajo novi standardi.","heading":"","summary":"Kljub nenehnemu razvoju spletnih strani so tehnologije v ozadju skozi \u010das ostale zelo podobne. ","thumbnail_small":"https:\/\/racunalniske-novice.com\/wp-content\/uploads\/2024\/08\/coding-560x315.jpg","thumbnail_large":"https:\/\/racunalniske-novice.com\/wp-content\/uploads\/2024\/08\/coding-1024x682.jpg","thumbnail_caption":"Fotografija je ilustrativna. (Foto: Pixabay)","gallery":"","video_gallery":null,"author":"","links":null,"sources":null,"skip_language":[]},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Primer implementacije sprotnega tekstovnega pogovora s knji\u017enico SignalR - Ra\u010dunalni\u0161ke novice<\/title>\n<meta name=\"description\" content=\"Kljub nenehnemu razvoju spletnih strani so tehnologije v ozadju skozi \u010das ostale zelo podobne.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/viva.racunalniske-novice.com\/zh\/wp-json\/wp\/v2\/posts\/5310\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Primer implementacije sprotnega tekstovnega pogovora s knji\u017enico SignalR - Ra\u010dunalni\u0161ke novice\" \/>\n<meta property=\"og:description\" content=\"Avtorja: Denis Balant, Enej Hudobreznik Za prenos podatkov preko spletu se \u0161e danes primarno uporablja protokol HTTP (angl. Hypertext Transfer Protocol) oz. njegova sodobnej\u0161a in varnej\u0161a \u0161ifrirana izpeljanka HTTPS (angl. HTTP Secure). Osnovana sta na arhitekturi odjemalec-stre\u017enik, kjer odjemalec (angl. client) po\u0161lje stre\u017eniku (angl. Server) zahtevo (angl. HTTP request), stre\u017enik pa nanj odgovori z odzivom [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/viva.racunalniske-novice.com\/zh\/\u4f7f\u7528-signalr-\u5e93\u5b9e\u73b0\u5b9e\u65f6\u6587\u672c\u5bf9\u8bdd\u7684\u793a\u4f8b\/\" \/>\n<meta property=\"og:site_name\" content=\"Ra\u010dunalni\u0161ke novice\" \/>\n<meta property=\"article:published_time\" content=\"2024-08-20T06:35:00+00:00\" \/>\n<meta name=\"author\" content=\"sinusiks\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"sinusiks\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/viva.racunalniske-novice.com\/primer-implementacije-sprotnega-tekstovnega-pogovora-s-knjiznico-signalr\/\",\"url\":\"https:\/\/viva.racunalniske-novice.com\/primer-implementacije-sprotnega-tekstovnega-pogovora-s-knjiznico-signalr\/\",\"name\":\"Primer implementacije sprotnega tekstovnega pogovora s knji\u017enico SignalR - Ra\u010dunalni\u0161ke novice\",\"isPartOf\":{\"@id\":\"https:\/\/viva.racunalniske-novice.com\/en\/#website\"},\"datePublished\":\"2024-08-20T06:35:00+00:00\",\"dateModified\":\"2024-08-20T06:35:00+00:00\",\"author\":{\"@id\":\"https:\/\/viva.racunalniske-novice.com\/en\/#\/schema\/person\/afb62e36efa34516d50249517e4cdbb4\"},\"breadcrumb\":{\"@id\":\"https:\/\/viva.racunalniske-novice.com\/primer-implementacije-sprotnega-tekstovnega-pogovora-s-knjiznico-signalr\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/viva.racunalniske-novice.com\/primer-implementacije-sprotnega-tekstovnega-pogovora-s-knjiznico-signalr\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/viva.racunalniske-novice.com\/primer-implementacije-sprotnega-tekstovnega-pogovora-s-knjiznico-signalr\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/viva.racunalniske-novice.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Primer implementacije sprotnega tekstovnega pogovora s knji\u017enico SignalR\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/viva.racunalniske-novice.com\/en\/#website\",\"url\":\"https:\/\/viva.racunalniske-novice.com\/en\/\",\"name\":\"Ra\u010dunalni\u0161ke novice\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/viva.racunalniske-novice.com\/en\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/viva.racunalniske-novice.com\/en\/#\/schema\/person\/afb62e36efa34516d50249517e4cdbb4\",\"name\":\"sinusiks\",\"sameAs\":[\"https:\/\/ml.racunalniske-novice.com\"],\"url\":\"https:\/\/viva.racunalniske-novice.com\/zh\/author\/sinusiks\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Primer implementacije sprotnega tekstovnega pogovora s knji\u017enico SignalR - Ra\u010dunalni\u0161ke novice","description":"Kljub nenehnemu razvoju spletnih strani so tehnologije v ozadju skozi \u010das ostale zelo podobne.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/viva.racunalniske-novice.com\/zh\/wp-json\/wp\/v2\/posts\/5310","og_locale":"zh_CN","og_type":"article","og_title":"Primer implementacije sprotnega tekstovnega pogovora s knji\u017enico SignalR - Ra\u010dunalni\u0161ke novice","og_description":"Avtorja: Denis Balant, Enej Hudobreznik Za prenos podatkov preko spletu se \u0161e danes primarno uporablja protokol HTTP (angl. Hypertext Transfer Protocol) oz. njegova sodobnej\u0161a in varnej\u0161a \u0161ifrirana izpeljanka HTTPS (angl. HTTP Secure). Osnovana sta na arhitekturi odjemalec-stre\u017enik, kjer odjemalec (angl. client) po\u0161lje stre\u017eniku (angl. Server) zahtevo (angl. HTTP request), stre\u017enik pa nanj odgovori z odzivom [&hellip;]","og_url":"https:\/\/viva.racunalniske-novice.com\/zh\/\u4f7f\u7528-signalr-\u5e93\u5b9e\u73b0\u5b9e\u65f6\u6587\u672c\u5bf9\u8bdd\u7684\u793a\u4f8b\/","og_site_name":"Ra\u010dunalni\u0161ke novice","article_published_time":"2024-08-20T06:35:00+00:00","author":"sinusiks","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"sinusiks","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"5 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/viva.racunalniske-novice.com\/primer-implementacije-sprotnega-tekstovnega-pogovora-s-knjiznico-signalr\/","url":"https:\/\/viva.racunalniske-novice.com\/primer-implementacije-sprotnega-tekstovnega-pogovora-s-knjiznico-signalr\/","name":"Primer implementacije sprotnega tekstovnega pogovora s knji\u017enico SignalR - Ra\u010dunalni\u0161ke novice","isPartOf":{"@id":"https:\/\/viva.racunalniske-novice.com\/en\/#website"},"datePublished":"2024-08-20T06:35:00+00:00","dateModified":"2024-08-20T06:35:00+00:00","author":{"@id":"https:\/\/viva.racunalniske-novice.com\/en\/#\/schema\/person\/afb62e36efa34516d50249517e4cdbb4"},"breadcrumb":{"@id":"https:\/\/viva.racunalniske-novice.com\/primer-implementacije-sprotnega-tekstovnega-pogovora-s-knjiznico-signalr\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/viva.racunalniske-novice.com\/primer-implementacije-sprotnega-tekstovnega-pogovora-s-knjiznico-signalr\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/viva.racunalniske-novice.com\/primer-implementacije-sprotnega-tekstovnega-pogovora-s-knjiznico-signalr\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/viva.racunalniske-novice.com\/en\/"},{"@type":"ListItem","position":2,"name":"Primer implementacije sprotnega tekstovnega pogovora s knji\u017enico SignalR"}]},{"@type":"WebSite","@id":"https:\/\/viva.racunalniske-novice.com\/en\/#website","url":"https:\/\/viva.racunalniske-novice.com\/en\/","name":"Ra\u010dunalni\u0161ke novice","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/viva.racunalniske-novice.com\/en\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/viva.racunalniske-novice.com\/en\/#\/schema\/person\/afb62e36efa34516d50249517e4cdbb4","name":"sinusiks","sameAs":["https:\/\/ml.racunalniske-novice.com"],"url":"https:\/\/viva.racunalniske-novice.com\/zh\/author\/sinusiks\/"}]}},"_links":{"self":[{"href":"https:\/\/viva.racunalniske-novice.com\/zh\/wp-json\/wp\/v2\/posts\/5310","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/viva.racunalniske-novice.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/viva.racunalniske-novice.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/viva.racunalniske-novice.com\/zh\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/viva.racunalniske-novice.com\/zh\/wp-json\/wp\/v2\/comments?post=5310"}],"version-history":[{"count":0,"href":"https:\/\/viva.racunalniske-novice.com\/zh\/wp-json\/wp\/v2\/posts\/5310\/revisions"}],"wp:attachment":[{"href":"https:\/\/viva.racunalniske-novice.com\/zh\/wp-json\/wp\/v2\/media?parent=5310"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/viva.racunalniske-novice.com\/zh\/wp-json\/wp\/v2\/categories?post=5310"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/viva.racunalniske-novice.com\/zh\/wp-json\/wp\/v2\/tags?post=5310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}