• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[WebSocket][Qt] Implementacja websocketów na serwerze

Object Storage Arubacloud
0 głosów
661 wizyt
pytanie zadane 18 maja 2015 w JavaScript przez marianexyx Nowicjusz (120 p.)
otagowane ponownie 18 maja 2015 przez marianexyx
W moim projekcie staram się przesłać informację o zmianie stanu elementu na stronie WWW do aplikacji na PC w Qt poprzez Websockety.

Ze strony Qt jest tutorial jak stworzyć prosty chat oparty o tą metodę: http://doc.qt.io/qt-5/qtwebsockets-simplechat-example.html . Udało mi się to, jednak jestem trochę noga z webmasteringu i nie wiem jak sprawić by ta aplikacja, która działa lokalnie, działała też na serwerze strony WWW.

Próbowałem z pliku html, który łączy się z serwerem chatu (http://doc.qt.io/qt-5/qtwebsockets-simplechat-chatclient-html.html) zmienić w linii: var wsUri = [i]"ws://localhost:1234[/i]"; wartość 'localhost' na globalny IP mojego PC z serwerem chatu i otworzyłem port w routerze. To nie zadziałało. Utknąłem w tym temacie póki co.

2 odpowiedzi

0 głosów
odpowiedź 18 maja 2015 przez Kabotyn Mądrala (5,650 p.)
Sądzę, że Twój problem jest w routerze. Poszukaj czy masz w nim opcję mapowania portów i przekierowywania. Bo samo otwarci portu może nie pomóc. Musisz jeszcze ustawić router tak aby gdy dostanie pakiet na porcie 1234 wiedział, że dalej ma przesłać te dane akurat do Twojego komputera, gdzie masz serwer.
komentarz 18 maja 2015 przez marianexyx Nowicjusz (120 p.)
edycja 18 maja 2015 przez marianexyx
Aha, czyli to powinna być wina routera? Myślałem, że pomijam parę kroków, tj. że potrzebne będą jakieś większe zmiany kodu, serwery pośrednie czy specjalne skrypty. Jeżeli tak, to spróbuję wprowadzić te zmiany w konfiguracji routera.

 

edit: Tylko nie wiem czy do końca zrozumiałem twoją wypowiedź. Ja poprzez otwieranie portów rozumiałem port-forwarding na konfiguracji routera. Jest coś jescze dalej; jakieś pchanie pakietów dalej przez router?
komentarz 18 maja 2015 przez Kabotyn Mądrala (5,650 p.)
Hmm. Nie wiem. Mój router miał coś takiego, że ustalałem mu na jakim porcie miał nasłuchiwać np. 1234 i wskazuwałem ip komputera (wewnatrz sieci) oraz port na jaki ma przesyłac pakiety jakie odebrał na 1234.
0 głosów
odpowiedź 18 maja 2015 przez nefil1m Stary wyjadacz (10,690 p.)
Nie wiem do czego dokładnie jest qt ani co próbujesz osiągnąć ale wydaję mi się, że Twój router nie ma tutaj nic do rzeczy (chyba, że stawiasz serwer).

Localhost to też serwer więc jeśli wrzucisz swój czat online (na jakiś hosting) to zmieniasz uri na to, które masz na serwerze online (np: userdomain.serwer.pl). I wtedy otwierasz połączenie WS z serwerem zewnętrzym (musi mieć obsługę WebSocket, z tego co kojarzę nie wszystkie mają).
komentarz 18 maja 2015 przez nefil1m Stary wyjadacz (10,690 p.)
W skrócie:

Jak przerzucisz swoja appkę na serwer online to powinno wszystko działać tak samo jak na localhoście (po zmianie url na ten serwera)

Podobne pytania

0 głosów
1 odpowiedź 799 wizyt
pytanie zadane 21 lutego 2017 w JavaScript przez Zainteresowany Nowicjusz (240 p.)
0 głosów
0 odpowiedzi 196 wizyt
pytanie zadane 25 marca 2016 w C# przez mje Nowicjusz (120 p.)
0 głosów
1 odpowiedź 386 wizyt
pytanie zadane 27 lutego 2016 w PHP przez hypothermi Obywatel (1,170 p.)

92,699 zapytań

141,614 odpowiedzi

320,146 komentarzy

62,058 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...