{"id":6502,"date":"2015-01-05T04:09:17","date_gmt":"2015-01-05T04:09:17","guid":{"rendered":"https:\/\/dev.railscarma.com\/real-time-framework\/"},"modified":"2021-06-07T05:42:14","modified_gmt":"2021-06-07T05:42:14","slug":"ramverk-i-realtid","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/ramverk-i-realtid\/","title":{"rendered":"Realtidsramverk"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"6502\" class=\"elementor elementor-6502\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7b381776 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7b381776\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-61bd9226\" data-id=\"61bd9226\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3bc8c4b8 elementor-widget elementor-widget-text-editor\" data-id=\"3bc8c4b8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: justify;\" align=\"LEFT\"><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\"><span style=\"font-size: medium;\">Real-times ramverk \u00e4r ett bl\u00e4ndande snabbt dubbelriktat permanent uppkopplat meddelandesystem. Det \u00e4r ett unikt s\u00e4tt f\u00f6r ett f\u00f6retag att ha en onlinerelation med kunder.<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\"><span style=\"font-size: medium;\">Detta har den enorma f\u00f6rdelen att till\u00e5ta interaktion att ske live i realtid, utan f\u00f6rseningar eller siduppdateringar, f\u00f6r att skapa en h\u00e5llbar och dubbelriktad relation med varje onlineanv\u00e4ndare.<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\"><span style=\"font-size: medium;\"><b>Det fungerar med tv\u00e5 huvudkomponenter:<\/b><\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\"><span style=\"font-size: medium;\">Att aktivera livewebben \u00e4r ORTC (Open Real-time Connectivity):<\/span><\/span><span style=\"color: #000000;\"><span style=\"font-size: medium;\">\u00a0<\/span><\/span><span style=\"color: #000000;\"><span style=\"font-size: medium;\">Ett s\u00e4kert, snabbt och mycket skalbart molnbaserat m\u00e5nga-till-m\u00e5nga-meddelandesystem i realtid f\u00f6r webb- och mobilappar. <\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"font-size: medium;\">\n<\/span><span style=\"color: #000000;\"><span style=\"font-size: medium;\">H\u00e4r kan vi anv\u00e4nda ORTC-klient ist\u00e4llet f\u00f6r xRTML-kodavsnitt fr\u00e5n realtime.co f\u00f6r realtidsanslutningar.<\/span><\/span><\/p>\n<span style=\"color: #000000;\"><span style=\"font-size: medium;\">Spr\u00e5ket f\u00f6r Live Webs xRTML (Extensible Realtime Multiplatform Language): En upps\u00e4ttning api-verktyg f\u00f6r att bygga realtidswebb- och mobilappar med ett l\u00e4ttanv\u00e4nt API baserat p\u00e5 ett JavaScript-bibliotek.<\/span><\/span><span style=\"font-size: medium;\">\n<\/span><span style=\"color: #000000;\"><span style=\"font-size: medium;\">\u00a0\u00a0<\/span><\/span>\n<p style=\"text-align: justify;\" align=\"LEFT\"><strong><span style=\"color: #000000;\"><span style=\"font-size: medium;\">Steg:<\/span><\/span><span style=\"font-size: medium;\">\n<\/span><\/strong><span style=\"color: #000000;\"><span style=\"font-size: medium;\">Inkludera detta js-plugin<\/span><\/span><span style=\"color: #000000;\"><span style=\"font-size: medium;\">\u00a0<\/span><\/span><a href=\"http:\/\/dfdbz2tdq3k01.cloudfront.net\/js\/2.1.0\/ortc.js\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"color: #1c5c76;\"><span style=\"font-size: medium;\"><i><span style=\"text-decoration: underline;\">http:\/\/dfdbz2tdq3k01.cloudfront.net\/js\/2.1.0\/ortc.js<\/span><\/i><\/span><\/span><\/a><\/p>\n<span style=\"color: #000000;\"><span style=\"font-size: medium;\">F\u00f6r att skicka meddelanden till realtid:<\/span><\/span>\n<blockquote>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\"><span style=\"font-size: medium;\">window.onload = funktion () {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">loadOrtcFactory(IbtRealTimeSJType, function (factory, error) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">if (fel != null) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">alert(\u201cFabriksfel: \u201d + error.message);<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">} annat {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">if (fabrik != null) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">\/\/ Skapa ORTC-klient<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">var ortcClient = factory.createClient();<\/span>\n<\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">\/\/ St\u00e4ll in ORTC-klientegenskaper<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.setId(&#039;clientId&#039;);<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.setConnectionMetadata(&#039;clientConnMeta&#039;);<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #000000;\"><span style=\"font-size: medium;\">ortcClient.setClusterUrl(&#039;<\/span><\/span><span style=\"color: #1c5c76;\"><span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: medium;\"><span style=\"text-decoration: underline;\">http:\/\/ortc-developers.realtime.co\/server\/2.1\/<\/span><\/span><\/span><\/span><span style=\"color: #000000;\"><span style=\"font-size: medium;\">&#8216;);<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.onConnected = funktion (ortc) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">\/\/ Ansluten<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"font-size: medium;\">\n\/\/ F\u00f6rsta kanalen<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.subscribe(&#039;channel1&#039;, true, function (ortc, channel, message) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <span style=\"font-size: medium;\">console.log(meddelande)<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.unsubscribe(kanal);<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">});<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\"><span style=\"font-size: medium;\"> \/\/ Andra kanalen<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.subscribe(&#039;channel2&#039;, true, function (ortc, channel, message) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0<span style=\"font-size: medium;\">console.log(meddelande)<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.unsubscribe(kanal);<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">});<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">};<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.onDisconnected = funktion (ortc) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">\/\/ Fr\u00e5nkopplad<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">};<\/span>\u00a0\u00a0 <span style=\"font-size: medium;\">\n\/\/Skicka dina meddelanden h\u00e4r<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.onSubscribed = funktion (ortc, kanal) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">\/\/ Prenumererade p\u00e5 kanalen &#039;kanal&#039;);<\/span>\n<\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.send(kanal, &#039;Meddelande till kanalen&#039;);<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">};<\/span>\n<\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.onUnsubscribed = funktion (ortc, kanal) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: medium;\">\/\/ Avslutad prenumeration p\u00e5 kanalen &#039;kanal&#039;);<\/span><\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.disconnect();<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">};<\/span>\n<\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.onException = funktion (ortc, undantag) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">\/\/ Undantag intr\u00e4ffade: &#039;exception&#039;<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">};<\/span>\n<\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.onReconnecting = funktion (ortc) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">\/\/ F\u00f6rs\u00f6ker ansluta igen<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">};<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.onReconnected = funktion (ortc) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">\/\/ \u00c5teransluten<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">};<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"font-size: medium;\">ortcClient.connect(&#039;myApplicationKey&#039;, &#039;myAuthenticationToken&#039;);<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">}<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">}<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">});<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\"><span style=\"font-size: medium;\">};<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"font-size: medium;\"> <span style=\"color: #000000;\">F\u00f6r att ta emot meddelanden fr\u00e5n realtid till appgr\u00e4nssnitt:<\/span>\n<span style=\"color: #000000;\"><i>\/\/Ta bort h\u00e4r\u00a0<\/i><\/span><span style=\"color: #000000;\"><i>ortcClient.onSubscribed\u00a0<\/i><\/span><span style=\"color: #000000;\"><i>fungera<\/i><\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\"><span style=\"font-size: medium;\">window.onload = funktion () {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">loadOrtcFactory(IbtRealTimeSJType, function (factory, error) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">if (fel != null) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">alert(\u201cFabriksfel: \u201d + error.message);<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">} annat {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">if (fabrik != null) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">\/\/ Skapa ORTC-klient<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">var ortcClient = factory.createClient();<\/span>\n<\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">\/\/ St\u00e4ll in ORTC-klientegenskaper<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.setId(&#039;clientId&#039;);<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.setConnectionMetadata(&#039;clientConnMeta&#039;);<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #000000;\"><span style=\"font-size: medium;\">ortcClient.setClusterUrl(&#039;<\/span><\/span><span style=\"color: #1c5c76;\"><span style=\"font-size: medium;\"><span style=\"text-decoration: underline;\">http:\/\/ortc-developers.realtime.co\/server\/2.1\/<\/span><\/span><\/span><span style=\"color: #000000;\"><span style=\"font-size: medium;\">&#8216;);<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: medium;\">ortcClient.onConnected = funktion (ortc) {<\/span><\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">\/\/ Ansluten<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <span style=\"font-size: medium;\">\n\/\/ F\u00f6rsta kanalen<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.subscribe(&#039;channel1&#039;, true, function (ortc, channel, message) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <span style=\"font-size: medium;\">console.log(meddelande)<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.unsubscribe(kanal);<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">});<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\"><span style=\"font-size: medium;\"> \/\/ Andra kanalen<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.subscribe(&#039;channel2&#039;, true, function (ortc, channel, message) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0<span style=\"font-size: medium;\">console.log(meddelande)<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.unsubscribe(kanal);<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">});<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">};<\/span>\n<\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.onDisconnected = funktion (ortc) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">\/\/ Fr\u00e5nkopplad<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0<span style=\"font-size: medium;\">}<\/span>\n<\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.onUnsubscribed = funktion (ortc, kanal) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">\/\/ Avslutad prenumeration p\u00e5 kanalen &#039;kanal&#039;);<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.disconnect();<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-family: Times New Roman,serif;\"><span style=\"font-size: medium;\">};<\/span><\/span>\n<\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.onException = funktion (ortc, undantag) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">\/\/ Undantag intr\u00e4ffade: &#039;exception&#039;<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">};<\/span>\n<\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.onReconnecting = funktion (ortc) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">\/\/ F\u00f6rs\u00f6ker ansluta igen<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">};<\/span>\n<\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.onReconnected = funktion (ortc) {<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">\/\/ \u00c5teransluten<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">};<\/span>\n<\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">ortcClient.connect(&#039;myApplicationKey&#039;, &#039;myAuthenticationToken&#039;);<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">}<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">}<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\">\u00a0\u00a0\u00a0\u00a0<span style=\"font-size: medium;\">});<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\"><span style=\"font-size: medium;\">};<\/span><\/span><\/p>\n<\/blockquote>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\"><span style=\"font-size: medium;\"><b>Avslutande anm\u00e4rkning:<\/b><\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\"><span style=\"font-size: medium;\">Realtidsramverket \u00e4r h\u00e4danefter ett framv\u00e4xande och snabbt v\u00e4xande meddelandesystem som hj\u00e4lper f\u00f6retaget att betj\u00e4na sina kunder i en mycket snabb takt och d\u00e4rmed ocks\u00e5 undvika tidsgapet f\u00f6r att tillhandah\u00e5lla tj\u00e4nsterna. <\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><span style=\"color: #000000;\"><span style=\"font-size: medium;\">Detta ger ocks\u00e5 en konkurrensf\u00f6rdel f\u00f6r verksamheten, eftersom det \u00e4r systemet som l\u00e4mpar sig f\u00f6r dagens \u00e5terkommande v\u00e4xande aff\u00e4rsv\u00e4rld.<\/span><\/span><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><em>L\u00e4s mer :\u00a0<\/em><\/p>\n\n<h5 class=\"entry-title\"><a href=\"\/sv\/blogg\/rals-3\/introduktionsskenor-api\/\" target=\"_blank\" rel=\"noopener noreferrer\">En introduktion till Rails API<\/a><\/h5>\n<h5 class=\"entry-title\"><a href=\"\/sv\/blogg\/ledning\/stalla-rals-miljo\/\" target=\"_blank\" rel=\"noopener noreferrer\">St\u00e4ll in Rails-milj\u00f6<\/a><\/h5>\n<h5 class=\"entry-title\"><a href=\"\/sv\/blogg\/tekniska-artiklar\/bildmanipulation\/\" target=\"_blank\" rel=\"noopener noreferrer\">Bildmanipulation<\/a><\/h5>\n<h5 class=\"entry-title\"><a href=\"\/sv\/blogg\/tekniska-artiklar\/installera-rubinskenor\/\" target=\"_blank\" rel=\"noopener noreferrer\">Hur man installerar Ruby p\u00e5 skenor<\/a><\/h5>\n<a href=\"\/sv\/kontakta-oss\/\">Kontakta oss.<\/a>\n<p style=\"text-align: justify;\" align=\"LEFT\"><strong>Lubaib CJ<\/strong><\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\">Senior Ruby on Rails-utvecklare<\/p>\n<p style=\"text-align: justify;\" align=\"LEFT\"><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1698660 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1698660\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-53a1ff94\" data-id=\"53a1ff94\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7f3363e9 elementor-widget elementor-widget-heading\" data-id=\"7f3363e9\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Prenumerera f\u00f6r de senaste uppdateringarna<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-76700efb elementor-widget elementor-widget-shortcode\" data-id=\"76700efb\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t\t\t<script type=\"text\/javascript\">\n\t\t\t\t\t\tvar gCaptchaSibWidget;\n                        var onloadSibCallbackInvisible = function () {\n\n                            var element = document.getElementsByClassName('sib-default-btn');\n                            var countInvisible = 0;\n                            var indexArray = [];\n                            jQuery('.sib-default-btn').each(function (index, el) {\n                                if ((jQuery(el).attr('id') == \"invisible\")) {\n                                    indexArray[countInvisible] = index;\n                                    countInvisible++\n                                }\n                            });\n\n                            jQuery('.invi-recaptcha').each(function (index, el) {\n                                grecaptcha.render(element[indexArray[index]], {\n                                    'sitekey': jQuery(el).attr('data-sitekey'),\n                                    'callback': sibVerifyCallback,\n                                });\n                            });\n                        };\n\t\t\t\t\t<\/script>\n\t\t\t\t\t                <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?onload=onloadSibCallbackInvisible&render=explicit\" async defer><\/script>\n\t\t\t\t\n\t\t\t<form id=\"sib_signup_form_1\" method=\"post\" class=\"sib_signup_form\" action=\"\">\n\t\t\t\t<div class=\"sib_loader\" style=\"display:none;\"><img\n\t\t\t\t\t\t\tsrc=\"https:\/\/www.railscarma.com\/wp-includes\/images\/spinner.gif\" alt=\"lastare\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_action\" value=\"subscribe_form_submit\">\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_id\" value=\"1\">\n                <input type=\"hidden\" name=\"sib_form_alert_notice\" value=\"Please fill out this field\">\n                <input type=\"hidden\" name=\"sib_form_invalid_email_notice\" value=\"Your email address is invalid\">\n                <input type=\"hidden\" name=\"sib_security\" value=\"d7f7626ab9\">\n\t\t\t\t<div class=\"sib_signup_box_inside_1\">\n\t\t\t\t\t<div style=\"\/*display:none*\/\" class=\"sib_msg_disp\">\n\t\t\t\t\t<\/div>\n                                            <div id=\"sib_captcha_invisible\" class=\"invi-recaptcha\" data-sitekey=\"6LdikOAaAAAAAJ6SWrrKVQrtw7TQpQAEnv0HS0G3\"><\/div>\n                    \t\t\t\t\t<p class=\"sib-email-area\">\r\n    <label class=\"sib-email-area\"><\/label>\r\n    <input type=\"email\" class=\"sib-email-area\" name=\"email\" required=\"required\" placeholder=\"E-postadress\">\r\n<\/p>\r\n<p class=\"sib-NAME-area\">\r\n    <label class=\"sib-NAME-area\"><\/label>\r\n    <input type=\"text\" class=\"sib-NAME-area\" name=\"NAME\" placeholder=\"namn\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"Prenumerera\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"sv\"\/><\/form>\n\t\t\t<style>\n\t\t\t\tform#sib_signup_form_1 p.sib-alert-message {\n    padding: 6px 12px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\nform#sib_signup_form_1 p.sib-alert-message-error {\n    background-color: #f2dede;\n    border-color: #ebccd1;\n    color: #a94442;\n}\nform#sib_signup_form_1 p.sib-alert-message-success {\n    background-color: #dff0d8;\n    border-color: #d6e9c6;\n    color: #3c763d;\n}\nform#sib_signup_form_1 p.sib-alert-message-warning {\n    background-color: #fcf8e3;\n    border-color: #faebcc;\n    color: #8a6d3b;\n}\n\t\t\t<\/style>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">relaterade inl\u00e4gg<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Kaminari Gem\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/kaminari-parla\/?related_post_from=37277\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"kaminari p\u00e4rla\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Kaminari Gem\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/kaminari-parla\/?related_post_from=37277\">\r\n        Kaminari Gem  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Varf\u00f6r anst\u00e4lla Ruby on Rails-utvecklare 2026?\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/ror\/varfor-anlita-utvecklare-av-ruby-on-rails\/?related_post_from=30627\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"varf\u00f6r anlita utvecklare av ruby on rails 2022\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Varf\u00f6r anst\u00e4lla Ruby on Rails-utvecklare 2026?\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/ror\/varfor-anlita-utvecklare-av-ruby-on-rails\/?related_post_from=30627\">\r\n        Varf\u00f6r anst\u00e4lla Ruby on Rails-utvecklare 2026?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Betydelsen av mjukvaruarkitektur vid utveckling av f\u00f6retagsmjukvara\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/ror\/vikten-av-mjukvaruarkitektur-i-foretagsutveckling-av-programvara\/?related_post_from=36250\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Betydelsen av mjukvaruarkitektur vid utveckling av f\u00f6retagsmjukvara\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Betydelsen av mjukvaruarkitektur vid utveckling av f\u00f6retagsmjukvara\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/ror\/vikten-av-mjukvaruarkitektur-i-foretagsutveckling-av-programvara\/?related_post_from=36250\">\r\n        Betydelsen av mjukvaruarkitektur vid utveckling av f\u00f6retagsmjukvara  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby IDE: De b\u00e4sta IDE:erna f\u00f6r Ruby on Rails Development\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/ror\/ruby-ide-de-basta-ideerna-for-ruby-on-rails-utveckling\/?related_post_from=36125\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"B\u00c4STA ID\u00c9ER F\u00d6R UTVECKLING AV RUBY ON RAIL\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Ruby IDE: De b\u00e4sta IDE:erna f\u00f6r Ruby on Rails Development\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/ror\/ruby-ide-de-basta-ideerna-for-ruby-on-rails-utveckling\/?related_post_from=36125\">\r\n        Ruby IDE: De b\u00e4sta IDE:erna f\u00f6r Ruby on Rails Development  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>Real-time's Framework \u00e4r ett blixtsnabbt, dubbelriktat och st\u00e4ndigt uppkopplat meddelandesystem. Det \u00e4r ett unikt s\u00e4tt f\u00f6r ett f\u00f6retag att bedriva en live online-relation med kunder. Detta har den enorma f\u00f6rdelen att interaktionen kan ske live i realtid, utan f\u00f6rdr\u00f6jningar eller siduppdateringar, f\u00f6r att skapa en h\u00e5llbar och dubbelriktad relation med varje onlineanv\u00e4ndare. ...<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/ruby-regex-match-guide-with-examples\/\"> <span class=\"screen-reader-text\">Ruby Regex Match Guide (2026) med exempel<\/span> L\u00e4s mer \u00bb<\/a><\/p>","protected":false},"author":1,"featured_media":32067,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[615],"class_list":["post-6502","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-articles","tag-real-time-framework"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Real-time Framework - RailsCarma Blog<\/title>\n<meta name=\"description\" content=\"Real-time\u2019s Framework is a blindingly fast bi-directional persistently connected messaging system.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/ramverk-i-realtid\/\" \/>\n<meta property=\"og:locale\" content=\"sv_SE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Real-time Framework - RailsCarma Blog\" \/>\n<meta property=\"og:description\" content=\"Real-time\u2019s Framework is a blindingly fast bi-directional persistently connected messaging system.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/ramverk-i-realtid\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2015-01-05T04:09:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-07T05:42:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/realtime-framework-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"Skriven av\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Ber\u00e4knad l\u00e4stid\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"Real-time Framework\",\"datePublished\":\"2015-01-05T04:09:17+00:00\",\"dateModified\":\"2021-06-07T05:42:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/\"},\"wordCount\":541,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/realtime-framework-1.jpg\",\"keywords\":[\"Real-time Framework\"],\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/\",\"name\":\"Real-time Framework - RailsCarma Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/realtime-framework-1.jpg\",\"datePublished\":\"2015-01-05T04:09:17+00:00\",\"dateModified\":\"2021-06-07T05:42:14+00:00\",\"description\":\"Real-time\u2019s Framework is a blindingly fast bi-directional persistently connected messaging system.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/#breadcrumb\"},\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/realtime-framework-1.jpg\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/realtime-framework-1.jpg\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Real-time Framework\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"sv-SE\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Realtidsramverk - RailsCarma-bloggen","description":"Real-times ramverk \u00e4r ett bl\u00e4ndande snabbt dubbelriktat permanent uppkopplat meddelandesystem.","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:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/ramverk-i-realtid\/","og_locale":"sv_SE","og_type":"article","og_title":"Real-time Framework - RailsCarma Blog","og_description":"Real-time\u2019s Framework is a blindingly fast bi-directional persistently connected messaging system.","og_url":"https:\/\/www.railscarma.com\/sv\/blogg\/tekniska-artiklar\/ramverk-i-realtid\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2015-01-05T04:09:17+00:00","article_modified_time":"2021-06-07T05:42:14+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/realtime-framework-1.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"Skriven av":"admin","Ber\u00e4knad l\u00e4stid":"3 minuter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"Real-time Framework","datePublished":"2015-01-05T04:09:17+00:00","dateModified":"2021-06-07T05:42:14+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/"},"wordCount":541,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/realtime-framework-1.jpg","keywords":["Real-time Framework"],"articleSection":["Technical Articles"],"inLanguage":"sv-SE","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/","url":"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/","name":"Realtidsramverk - RailsCarma-bloggen","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/realtime-framework-1.jpg","datePublished":"2015-01-05T04:09:17+00:00","dateModified":"2021-06-07T05:42:14+00:00","description":"Real-times ramverk \u00e4r ett bl\u00e4ndande snabbt dubbelriktat permanent uppkopplat meddelandesystem.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/#breadcrumb"},"inLanguage":"sv-SE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/"]}]},{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/realtime-framework-1.jpg","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2015\/01\/realtime-framework-1.jpg","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/real-time-framework\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Real-time Framework"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Ruby on Rails Development Company specialiserat p\u00e5 Offshore Development","description":"RailsCarma \u00e4r ett Ruby on Rails Development Company i Bangalore. Vi \u00e4r specialiserade p\u00e5 Offshore Ruby on Rails Development baserat i USA och Indien. Anst\u00e4ll erfarna Ruby on Rails-utvecklare f\u00f6r den ultimata webbupplevelsen.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"sv-SE"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RailsCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21","name":"administration","image":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/posts\/6502","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/comments?post=6502"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/posts\/6502\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/media\/32067"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/media?parent=6502"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/categories?post=6502"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/sv\/wp-json\/wp\/v2\/tags?post=6502"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}