• 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

Cloud VPS
0 głosów
940 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
0 odpowiedzi 227 wizyt
pytanie zadane 24 stycznia w JavaScript przez TOWaD Mądrala (6,520 p.)
0 głosów
1 odpowiedź 1,095 wizyt
pytanie zadane 21 lutego 2017 w JavaScript przez Zainteresowany Nowicjusz (240 p.)
0 głosów
0 odpowiedzi 249 wizyt
pytanie zadane 25 marca 2016 w C# przez mje Nowicjusz (120 p.)

93,487 zapytań

142,420 odpowiedzi

322,772 komentarzy

62,903 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

Kursy INF.02 i INF.03
...