Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 30231|Atbildi: 1

[Avots] SignalR neizmanto websocket protokolu, lai sazinātos

[Kopēt saiti]
Publicēts 18.04.2019 17:33:48 | | | |
ASP.NET SignalR ir bibliotēka ASP.NET izstrādātājiem, kas vienkāršo reāllaika tīmekļa funkcionalitātes pievienošanu savām lietojumprogrammām. Reāllaika tīmekļa līdzeklis ir līdzeklis, kurā servera kods var virzīt saturu uz pievienoto klientu, tiklīdz tas kļūst pieejams, nevis serveris gaida, kamēr klients pieprasa jaunus datus.

ASP .NET SignalR ir klases bibliotēka ASP .NET, kas var realizēt reāllaika saziņu ASP .NET tīmekļa projektos (tas ir, klients (tīmekļa lapa) un servera puse var paziņot viens otram reāllaikā un zvana metodes), SignalR ir trīs pārraides režīmi: LongLooping (ilgstoša aptauja), WebSocket (HTML5 WEB ligzda), Forever Frame ( ilgi pieprasījuma savienojumi, kas slēpj rāmi), var skaidri norādīt WEB klientā vai pēc noklusējuma (ieteicams), ja tiek pieņemts noklusējums,SignalR automātiski izvēlēsies atbilstošo pārraides metodi, pamatojoties uz pārlūkprogrammas vidi

Tā kā vietnes datu ielāde ir pārāk lēna, iemesls ir tāds, ka datu pakete ir pārāk liela, un tīkla pieprasījums ir piemērots, un tiek konstatēts, ka "ws" ir tukšs, un tad tiek konstatēts, ka SignalR neizmanto websocket protokolu.

Kad es atkļūdoju lokāli, es atklāju, ka vietne var normāli izmantot WS protokolu, tas ir, tā var normāli sazināties ar tīmekļa ligzdām, un pēc tam novērot atšķirību starp servera un vietējā tīkla pieprasījumiem, un konstatēju, ka tas ir šāds:



URL:http://ip/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22positionvehiclehub%22%7D%5D&_=1555578162378

Vietējie:

{"Url":"/signalr","ConnectionToken":"iX0gmz3XDJpQ62b6eiWK16Quaf+LFlD5aHw1k2oC6dKPz7naDuFmc0M7+xiR72ZjJDuNnMvfZyZF72qJK/4g6FOKAsY5C0uCfViOBXPRJVMBczOXTyCKcztIcugmcBq8" ,"ConnectionId":"50598ad3-b138-458c-a58d-b4f84d23c0e0","KeepAliveTimeout":20.0,"DisconnectTimeout":30.0,"ConnectionTimeout":110.0,"TryWebSockets":true," ProtocolVersion":"1.5","TransportConnectTimeout":5.0,"LongPollDelay":0.0}
Serveri:

{"URL":"/signalr","ConnectionToken":"4JbNUOp5/ju8Fljn29tCsFoTitZXk3XfF3tkuc/OYpaEQPawJHi3U1nTtjcJJzK4mVsOn9nAEECZj7h5732aV7tNJDgsasCon9uQwhqXZC5EAZPrAgASueApAjBCpPpE" ,"ConnectionId":"c46e67b1-4fb4-4345-983f-bf2c391d33e0","KeepAliveTimeout":20.0,"DisconnectTimeout":30.0,"ConnectionTimeout":110.0,"TryWebSockets":false," ProtocolVersion":"1.5","TransportConnectTimeout":5.0,"LongPollDelay":0.0}
Daži parametri sākotnēji atšķiras no vietējiem un servera parametriem, un es to atraduIzmēģināt WebSocketsparametrs, lokāls ir patiess, serveris ir false.



Aplūkojot informāciju, tiek konstatēts, ka, ja SignalR izmanto WebSocket protokolu, ir jāievēro šādi nosacījumi:

  • ASP.NET 4.5
  • IIS 8.0 (Windows Server 2012 vai Windows 8)
  • WebSockets līdzeklis ir iespējots serverī
  • Pārlūkprogrammas WebSockets atbalsts



Tas ir, es atklāju, ka IIS versija serverī ir 7.5,WebSocket protokols netiek atbalstīts programmā IIS 7.5



Atsauces saites:Hipersaites pieteikšanās ir redzama.




Iepriekšējo:WPF programmētāja atpūtas digitālais pulkstenis [ar avota kodu]
Nākamo:"Trakais programmētājs"
Publicēts 22.04.2019 09:24:01 |
Labas lietas Marks
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com