komunikator LabView
komunikator LabView
Witam
Nie wiem czy to dobry temat, ale mam za zadanie zrobienie komunikatora internetowego (coś typu gadu-gadu) z wykorzystaniem serwera głównego. Czyli dokładna kopia gg;) Ma ktoś propozycje jak to rozwiązać?
Mój pomysł
Użytkownicy loguja się do serwera, komputer chcąc wysłać wiadomość do użytkownika o numerze np. 2 wysyła zapytanie do serwa o adres ip odbiorcy, jeśli użytkownik jest dostępny, serwer zwraca adres, po czym następuje komunikacja point2point między użytkownikami komunikatora z potwierdzeniem odebrania wiadomości przez odbiorcę.
Proszę o pomoc
Nie wiem czy to dobry temat, ale mam za zadanie zrobienie komunikatora internetowego (coś typu gadu-gadu) z wykorzystaniem serwera głównego. Czyli dokładna kopia gg;) Ma ktoś propozycje jak to rozwiązać?
Mój pomysł
Użytkownicy loguja się do serwera, komputer chcąc wysłać wiadomość do użytkownika o numerze np. 2 wysyła zapytanie do serwa o adres ip odbiorcy, jeśli użytkownik jest dostępny, serwer zwraca adres, po czym następuje komunikacja point2point między użytkownikami komunikatora z potwierdzeniem odebrania wiadomości przez odbiorcę.
Proszę o pomoc
komunikator LabView
zaprojektowałem już system logowania i weryfikacji użytkownika, zastanawiam się jak rozwiązać przesyłanie wiadomości pomiędzy nadawcą a odbiorcą z wykorzystaniem serwera ftp. czy po zalogowaniu system buduje tablice z numerem użytkownika i adresem ip, i kiedy nadawca zwraca się do serwera z zapytaniem o adres odbiorcy, ten zwraca adres na który wysyła nadawca wiadomość, czy lepiej zrobić w sposób serwer dostaje informację z numerem użytkownika i jeżeli ten jest dostępny wysyła wiadomość do odbiorcy, jeśli ten nie jest dostępny informuje o tym nadawcę, aby spróbował później?
Które z wyżej wymienionych rozwiązań jest odpowiedniejsze?
Które z wyżej wymienionych rozwiązań jest odpowiedniejsze?
- Nowszy
- Posty: 504
- Rejestracja: 30 maja 2008 08:33
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Katowice
- Kontakt:
komunikator LabView
W jaki sposób chcesz realizować całą komunikację? Ma to być TCP lub UDP czy coś na wyższym poziomie? Wspominasz coś o serwerze ftp, ale to protokół do przesyłu plików (File Transfer Protocol), a nie do komunikacji jako takiej.
Pozdrawiam, Maciek Antonik
Edu4Industry
Edu4Industry
komunikator LabView
pomyłka, miało być tcp
Re: komunikator LabView
poniżej zamieszczam to co zrobiłem dotychczas. Mógłby ktoś mnie nakierować czy to jest dobra droga?
Dodam jeszcze co mam zamiar zrobić:
- serwer buduje sobie bazę danych adresów na zasadzie numerom klientów zalogowanych przypisuje adres IP (tu mam trudność, chodzi o to żeby serwer dla jednego użytkownika nie przypisywał dwóch różnych adresów IP)
- nadawca wysyła wiadomość w postaci: 'numer odbiorcy : numer nadawcy: wiadomość', serwer po numerze odbiorcy przekierowuje wiadomość na wskazany numer wraz z numerem nadawcy
pliki są jeszcze w fazie testów, przy tworzeniu ich opierałem się na przykładach znalezionych na tym forum oraz w przykładowych plikach LV
Dodam jeszcze co mam zamiar zrobić:
- serwer buduje sobie bazę danych adresów na zasadzie numerom klientów zalogowanych przypisuje adres IP (tu mam trudność, chodzi o to żeby serwer dla jednego użytkownika nie przypisywał dwóch różnych adresów IP)
- nadawca wysyła wiadomość w postaci: 'numer odbiorcy : numer nadawcy: wiadomość', serwer po numerze odbiorcy przekierowuje wiadomość na wskazany numer wraz z numerem nadawcy
pliki są jeszcze w fazie testów, przy tworzeniu ich opierałem się na przykładach znalezionych na tym forum oraz w przykładowych plikach LV
- Załączniki
-
- Klient 1.vi
- (29.04 KiB) Pobrany 599 razy
-
- Server.vi
- (33.58 KiB) Pobrany 577 razy
komunikator LabView
Chętnie rzucę na to okiem, sam robiłem kiedyś komunikator (klient-serwer). Jeśli możesz to zapisz te pliki w wersji 8.5 (której wg informacji w profilu używasz...).
Re: komunikator LabView
zamieszczam w starszej wersji 8.5
- Załączniki
-
- Server.vi
- (35.85 KiB) Pobrany 538 razy
-
- Klient 1.vi
- (34.34 KiB) Pobrany 507 razy
- Nowszy
- Posty: 504
- Rejestracja: 30 maja 2008 08:33
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Katowice
- Kontakt:
komunikator LabView
Czesc
Otworzylem Klienta, kilka uwag:
- zamień Sequence Structure na maszyne stanów, nawet jeśli kolejne zdarzenia będą przebiegać w stałej kolejności
- zamień zmienne lokalne na klaster, który będzie przenosił komplet informacji
- obsługuj błędy!
- w chwili obecnej twój program nie obsługuje sytuacji, w której user/pass są nieprawidłowe
Serwer:
- nie załączyłeś subVI Weryfikacja Urzytkownika
- poza tym za bardzo skomplikowana architektura, przez te zmienne lokalne nie da sie połapać co i jak - spróbuj zmieścić to w jakąś architekturę, maszyna stanów powinna wystarczyć na początek.
Ale generalnie start niezły
Otworzylem Klienta, kilka uwag:
- zamień Sequence Structure na maszyne stanów, nawet jeśli kolejne zdarzenia będą przebiegać w stałej kolejności
- zamień zmienne lokalne na klaster, który będzie przenosił komplet informacji
- obsługuj błędy!
- w chwili obecnej twój program nie obsługuje sytuacji, w której user/pass są nieprawidłowe
Serwer:
- nie załączyłeś subVI Weryfikacja Urzytkownika
- poza tym za bardzo skomplikowana architektura, przez te zmienne lokalne nie da sie połapać co i jak - spróbuj zmieścić to w jakąś architekturę, maszyna stanów powinna wystarczyć na początek.
Ale generalnie start niezły
Pozdrawiam, Maciek Antonik
Edu4Industry
Edu4Industry
Re: komunikator LabView
Witam
Dzięki za wszystkie rady, jednakże muszę przyznać ze z nich nie skorzystałem:P byłem już bliski rozwiązania i nie chciało mi się przebudowywać programu
Poniżej zamieszczam rozwiązanie jakie ostatecznie zostało zastosowane. Komunikator działa dla dwóch użytkowników, dla większej ilości nie próbowałem, to było wystarczające na zaliczenie przedmiotu.
Dzięki za wszystkie rady, jednakże muszę przyznać ze z nich nie skorzystałem:P byłem już bliski rozwiązania i nie chciało mi się przebudowywać programu
Poniżej zamieszczam rozwiązanie jakie ostatecznie zostało zastosowane. Komunikator działa dla dwóch użytkowników, dla większej ilości nie próbowałem, to było wystarczające na zaliczenie przedmiotu.
- Załączniki
-
- odczyt ip.vi
- (13.96 KiB) Pobrany 532 razy
-
- kolejka.vi
- (16.63 KiB) Pobrany 558 razy
-
- adresy ip.vi
- (14.6 KiB) Pobrany 526 razy
-
- Klient dziala.vi
- (37.19 KiB) Pobrany 552 razy
-
- Server dziala.vi
- (50.95 KiB) Pobrany 588 razy
Re: komunikator LabView
jako ze w poprzedniej wiadomości nie mogłem dodać więcej niż 5 załączników, to ostatni subVi, należy zmienić dane loginu i haseł na pasujące i działa, przynajmniej z tego co pamiętam
- Załączniki
-
- weryfikacja użytkownika.vi
- (17.54 KiB) Pobrany 571 razy