NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Jak poslat zprávu na jiný počítač pomocí ASP.NET MVC?

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Luboš
Člen
Avatar
Luboš:25.6.2016 20:40

Ahoj chtěl bych si vytvořit chatovací aplikaci v ASP.NET MVC a nevím jak to udělat, aby když někdo pošle zprávu, tak aby se hned zobrazila i na ostatních počítačích. Díky.

 
Odpovědět
25.6.2016 20:40
Avatar
Lako
Člen
Avatar
Odpovídá na Luboš
Lako:25.6.2016 22:00

Základ je takový, že máš server, kde ti běží tvoje APS.NET aplikace a klient, který se připojí komunikuje se serverem pomocí javascriptu, server pak zprávy rozdistribuuje dál...

Docela dobře tohle umí signalR.

 
Nahoru Odpovědět
25.6.2016 22:00
Avatar
Luboš
Člen
Avatar
Luboš:25.6.2016 22:15

Z cvičebních důvodů bych to chtěl udělat bez signaR. Chci vědět jak to celé funguje.

 
Nahoru Odpovědět
25.6.2016 22:15
Avatar
Lako
Člen
Avatar
Odpovídá na Luboš
Lako:25.6.2016 23:55

Hm.
Jednodušší varianta tedy je, že si javascriptem budeš šahat pro data na server v nějakém intervalu a ty zobrazovat.
Je to ale takové bezruké řešení. SignalR má tu výhodu, že server ví o připojených klientech. Takto o nich bude vědět jenom v případě, že si řeknou o data...
No a uplně nejjednodušší řešení je, že stránku budeš v nějakém intervalu obnovovat... (je to vlastně jiná interpretace "šáhnout si pro data")

 
Nahoru Odpovědět
25.6.2016 23:55
Avatar
Ondřej Krsička:26.6.2016 10:51

Použij AJAX.

  1. Uživatel1 napíše zprávu a pošle ji na server.
  2. Server zprávu uloží a pošle všem uživatelům - AJAXem, takže se nic nenačítá.
  3. Všichni uživatelé zobrazí zprávu.
 
Nahoru Odpovědět
26.6.2016 10:51
Avatar
Luboš
Člen
Avatar
Luboš:26.6.2016 12:54

Díky Ondřeji. AJAX zatím neumím, ale doplním si.

 
Nahoru Odpovědět
26.6.2016 12:54
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Luboš
Jan Vargovský:26.6.2016 14:39

AJAXem to neuděláš real-time, akorát budeš zatěžovat server... Mrkni na SignalR a máš to splácané za 10m :)

EDIT: Aha, tak už čtu, že to tu někdo zmínil, tak nic.

Editováno 26.6.2016 14:40
 
Nahoru Odpovědět
26.6.2016 14:39
Avatar
Jan Vargovský
Tvůrce
Avatar
Jan Vargovský:26.6.2016 14:43

Jestli si chceš napsat raw řešení, bez žádné knihovny napovrch, tak si to udělej první v SignalR (záležitost pár minut) a pak se podívej jak to funguje na pozadí a co ti to generuje za JS. Pak si můžeš použít technologie, které se používají na pozadí - WS, SSE, ...

 
Nahoru Odpovědět
26.6.2016 14:43
Avatar
Nahoru Odpovědět
26.6.2016 17:43
Neaktivní uživatelský účet
Avatar
Marian Benčat:3.7.2016 18:26

SignalR používá interně taky I AJAX. SignalR funguje tak, že doáže detekovat jaké technologie klient zvládá a na zákkladě toho použije vnitřně tu nejlepší.. Pokud zvládne WebSockets, použije websockets.. pokud neumí websockets a umí ajax, použije ajax... pokue neumí websockets a neumí ajax, použije iframe a chunked komunikaci... atd atd..

SignalR tedy není tak, že je vždy a všude websockets. Takže SIgnalR může používat standardně jen ajax (třeba long polling, nebo neblockujici query spam). Záleží na klientovi.

Nahoru Odpovědět
3.7.2016 18:26
Totalitní admini..
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.