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

Tworzenie komunikatora internetowego przesyłającego informacje bezpośrednio między użytkownikami C++

Object Storage Arubacloud
0 głosów
2,079 wizyt
pytanie zadane 21 lipca 2018 w C i C++ przez Daniel67119 Nowicjusz (210 p.)

Witam

Przymierzam się do napisania aplikacji do pisania wiadomości. Chciałbym aby komunikacja odbywała się bezpośrednio pomiędzy użytkownikami(Nie zamierzam stawiać własnego serwera lub wykupić cudzy)

Najlepiej by było aby aplikacja działała na Windowsie i Linuxie. Moje pytania to:

1) Jakich protokołow użyć? Myślałem nad TCP/IP i do tego FTP lub IRC? Są jakieś lepsze alternatywy?

2) Jakiej biblioteki/ frameworka użyć do budowy GUI oraz innych części aplikacji?

3) Które szyfrowanie najlepiej wybrać (PGP itp)

Z góry dziękuje za odpowiedzi! laugh

komentarz 22 lipca 2018 przez Szfierzak Gaduła (3,750 p.)
Wydaje mi się, że Qt ma wszystko czego potrzebujesz i o co pytasz, łatwe w budowaniu GUI, biblioteki do obsługi sieci oraz szyfrowania (choć tego nie jestem pewien). Poza tym kod napisany w Qt jest taki sam dla Windowsa i Linuxa.
komentarz 22 lipca 2018 przez j23 Mędrzec (194,920 p.)

@Szfierzak, na pytania nie odpowiadamy w komentarzu.

 

komentarz 22 lipca 2018 przez Szfierzak Gaduła (3,750 p.)
Przepraszam, odpowiedź była bardzo częściowa, bo w zasadzie odnosiła się do użycia konkretnej biblioteki, niestety nie potrafię pomóc w wyborze protokołu i sposobu szyfrowania, stąd komentarz.
komentarz 22 lipca 2018 przez Daniel67119 Nowicjusz (210 p.)
Próbowałem instalować Qt. Po kilku godzinach wciąż było ponad 30%

Czy tak długi czas instalacji jest normalny? Czy prawidłowo podczas instalacji wybrałem wersję z samej góry o której pisze że zajmie na dysku 30+ GB.
komentarz 23 lipca 2018 przez Szfierzak Gaduła (3,750 p.)
Dawno już nie instalowałem Qt, zazwyczaj tylko aktualizuję, ale czas jaki podałeś jest dość niepokojący. Miejsce na dysku również. Moja wersja na dysku zajmuje około 5.5GB. Wiem, że instalowało się to dość długo, może około godziny, ponieważ pobiera pliki w trakcie instalacji. Niestety nie pamiętam jaką dokładnie opcję wybrałem, ale raczej standardowa instalacja. Postaram się sprawdzić jak to u mnie wygląda.
komentarz 23 lipca 2018 przez Szfierzak Gaduła (3,750 p.)
Właśnie instaluję na nowo Qt, rzeczywiście jak zaznaczyłem w zasadzie wszystko co było do zainstalowania to instalator poinformował mnie o konieczności posiadania ponad 30GB wolnego miejsca i zajmie to pewnie dużo czasu. Jednak Zaznaczyłem więcej niż potrzebuję, tak naprawdę wystarczy zaznaczyć Qt np. 5.10, debugger, MinGW i QtCreator w sumie nie powinno wyjść więcej niż kilka giga, bo z takiej wersji korzystałem do tej pory.

2 odpowiedzi

+3 głosów
odpowiedź 21 lipca 2018 przez VirtualMember Pasjonat (15,790 p.)

SFML udostępnia moduł Network, poczytaj o tym w dokumentacji, na jego podstawie można zrobić jakiś czat między userami.

https://www.sfml-dev.org/documentation/2.5.0/group__network.php

komentarz 22 lipca 2018 przez Hunter94 Mądrala (6,290 p.)
Polecam to rozwiązanie. Obsługa sieci w SFML jest bardzo przyjemna.
komentarz 22 lipca 2018 przez Daniel67119 Nowicjusz (210 p.)

@VirtualMember,
 SFML nie służy przypadkiem głównie do robienia gier?

 

komentarz 22 lipca 2018 przez Hunter94 Mądrala (6,290 p.)
służy, ale żeby ogarnąć w grach multi, ma w sobie wysokopoziomową bibliotekę sieciową.
komentarz 22 lipca 2018 przez j23 Mędrzec (194,920 p.)
Dołączanie SFML-a tylko po to, żeby użyć (wygodnych) socketów jest IMO, delikatnie mówiąc, przesadą.
komentarz 22 lipca 2018 przez Hunter94 Mądrala (6,290 p.)

nie musisz dołączać całego SFML. to jest pod-biblioteka. 

#include <SFML/Network.hpp> 

 

1
komentarz 22 lipca 2018 przez j23 Mędrzec (194,920 p.)
Poza nagłówkiem jeszcze trzeba dodać bibliotekę, prawda? Zresztą nie w tym rzecz. Chodzi mi o to, że skoro korzystasz np. z Qt, bo w czymś GUI trzeba napisać, to nie ma sensu używać innych bibliotek, które nie wniosą nic ponad to, co oferuje Qt.
komentarz 23 lipca 2018 przez Daniel67119 Nowicjusz (210 p.)
@j23 Wszystko łącznie z GUI chyba zrobie już w SFML.
komentarz 23 lipca 2018 przez VirtualMember Pasjonat (15,790 p.)

@Daniel67119, SFML czyli Simple and Fast Multimedia Library tak na prawdę służy do tego by operować na tzw. multimediach. Faktem jest, że przyjęło się jej używać do robienia gier jako alternatywy to już skamieniałego SDL'a, jednak nie zmienia to faktu, że jej wachlarz możliwości jest dużo większy.

komentarz 23 lipca 2018 przez j23 Mędrzec (194,920 p.)
Nie no, bez przesady. Głównym przeznaczeniem tej biblioteki jest tworzenie gier, a to, że możesz sobie coś tam jeszcze niezwiązanego z grami zrobić to sprawa wtórna. To nie jest biblioteka do tworzenia typowych aplikacji okienkowych. Chyba że ten komunikator jakiś nietypowy ma być... OP nic o tym nie wspomniał.
+1 głos
odpowiedź 22 lipca 2018 przez j23 Mędrzec (194,920 p.)

Ad 2. Qt, wxWidgets itp. Jeśli nie wystarczy Ci obsługa sieci w wymienionych bibliotekach, możesz użyć Asio.

komentarz 22 lipca 2018 przez Daniel67119 Nowicjusz (210 p.)
Próbowałem instalować Qt. Po kilku godzinach wciąż było ponad 30%

Czy tak długi czas instalacji jest normalny? Czy prawidłowo podczas instalacji wybrałem wersję z samej góry o której pisze że zajmie na dysku 30+ GB.
komentarz 22 lipca 2018 przez j23 Mędrzec (194,920 p.)
Qt małe nie jest, ale 30+GB to chyba za dużo (windowsowa wersja to parę giga).

Podobne pytania

+2 głosów
0 odpowiedzi 113 wizyt
+1 głos
0 odpowiedzi 286 wizyt
pytanie zadane 14 czerwca 2021 w C# przez Pawel1995 Gaduła (3,810 p.)
0 głosów
0 odpowiedzi 122 wizyt
pytanie zadane 2 października 2018 w Rozwój zawodowy, nauka, praca przez kuboxikk123 Nowicjusz (180 p.)

92,539 zapytań

141,382 odpowiedzi

319,476 komentarzy

61,928 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...