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

C# .NET .NET (C# a Visual Basic) Jak poslat zprávu na jiný počítač pomocí ASP.NET MVC? American English version English version

Avatar
Luboš
Člen
Avatar
Luboš:

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. června 20:40
Avatar
Lako
Člen
Avatar
Odpovídá na Luboš
Lako:

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. června 22:00
Avatar
Luboš
Člen
Avatar
Luboš:

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. června 22:15
Avatar
Lako
Člen
Avatar
Odpovídá na Luboš
Lako:

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. června 23:55
Avatar
Ondřej Krsička
Redaktor
Avatar
Ondřej Krsička:

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  ±0 26. června 10:51
Avatar
Luboš
Člen
Avatar
Luboš:

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

 
Nahoru Odpovědět 26. června 12:54
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Luboš
Jan Vargovský:

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. června 14:40
 
Nahoru Odpovědět 26. června 14:39
Avatar
Jan Vargovský
Redaktor
Avatar
Jan Vargovský:

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. června 14:43
Avatar
Jiří Gracík
Redaktor
Avatar
Nahoru Odpovědět 26. června 17:43
Creating websites is awesome till you see the result in another browser ...
Avatar
Marian Benčat
Redaktor
Avatar
Marian Benčat:

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  +1 3. července 18:26
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.