komunikator LabView

Tematy związane z LabVIEW pracującym w czasie rzeczywistym.
kishon
Posty: 14
Rejestracja: 15 lis 2009 19:33
Wersja środowiska: LabVIEW 2009

komunikator LabView

Post autor: kishon »

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
kishon
Posty: 14
Rejestracja: 15 lis 2009 19:33
Wersja środowiska: LabVIEW 2009

komunikator LabView

Post autor: kishon »

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?
Awatar użytkownika
Nowszy
Posty: 504
Rejestracja: 30 maja 2008 08:33
Wersja środowiska: LabVIEW 2011
Lokalizacja: Katowice
Kontakt:

komunikator LabView

Post autor: Nowszy »

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
kishon
Posty: 14
Rejestracja: 15 lis 2009 19:33
Wersja środowiska: LabVIEW 2009

komunikator LabView

Post autor: kishon »

pomyłka, miało być tcp
kishon
Posty: 14
Rejestracja: 15 lis 2009 19:33
Wersja środowiska: LabVIEW 2009

Re: komunikator LabView

Post autor: kishon »

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
Załączniki
Klient 1.vi
(29.04 KiB) Pobrany 599 razy
Server.vi
(33.58 KiB) Pobrany 577 razy
Awatar użytkownika
coolfon
Posty: 232
Rejestracja: 01 gru 2007 08:59
Wersja środowiska: LabVIEW 2009
Kontakt:

komunikator LabView

Post autor: coolfon »

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...).
kishon
Posty: 14
Rejestracja: 15 lis 2009 19:33
Wersja środowiska: LabVIEW 2009

Re: komunikator LabView

Post autor: kishon »

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
Awatar użytkownika
Nowszy
Posty: 504
Rejestracja: 30 maja 2008 08:33
Wersja środowiska: LabVIEW 2011
Lokalizacja: Katowice
Kontakt:

komunikator LabView

Post autor: Nowszy »

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
Pozdrawiam, Maciek Antonik
Edu4Industry
kishon
Posty: 14
Rejestracja: 15 lis 2009 19:33
Wersja środowiska: LabVIEW 2009

Re: komunikator LabView

Post autor: kishon »

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.
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
kishon
Posty: 14
Rejestracja: 15 lis 2009 19:33
Wersja środowiska: LabVIEW 2009

Re: komunikator LabView

Post autor: kishon »

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
ODPOWIEDZ