Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Konsola / wielowątkowość / sieć

Ostatnio zmodyfikowano 2009-05-06 19:32
Autor Wiadomość
zori
Temat założony przez niniejszego użytkownika
Konsola / wielowątkowość / sieć
» 2009-05-04 21:35:12
Majac okno dsowe mozna otworzyć nowe za pomoca jakiejś funkcji i np zeby odnosił sie np do tego okno nowy watek ?? Ale ogólnie czy mozna otworzyć 2 okno??
P-6480
paczaja
» 2009-05-04 22:03:57
tak....wpisz w konsoli "start cmd"
P-6481
zori
Temat założony przez niniejszego użytkownika
» 2009-05-04 22:20:20
Nie chce okna CMD ja chce 2 okna które będe kozystac z tych samych zmiennych.
P-6483
DejaVu
» 2009-05-05 12:32:35
Nie spotkałem się z sytuacją w której potrzebne są dwie konsole jednocześnie. Jeśli chcesz mieć dwie konsole i wspólny dostęp do tego samego obszaru pamięci poczytaj najpierw o:
[li]wątkach (threads)[/li]
[li]synchronizacja wątków[/li]
[li]sekcje krytyczne[/li]
Tematy te nie należą do prostych do wcielenia w życie i warto poświęcić trochę czasu na zgłębienie tego tematu zanim się zacznie robić jakiekolwiek operacje rownolegle.
P-6497
pawelb
» 2009-05-05 12:37:59
"Majac okno dsowe mozna otworzyć nowe za pomoca jakiejś funkcji i np zeby odnosił sie np do tego okno nowy watek ??"
jedyne co przychodzi mi do głowy to nowy proces w systemie. W dosie jako takim nie ma okien, wszystko co można zaoferować to jedynie uruchomenie drugiej aplikacji z poziomu windows.
Jeżeli chodzi o "wątek" to jeśli to będzie osobna aplikacja to ten problem znika sam ;)

Żeby obie aplikacje mogły się ze sobą komunikować to tak jak zauważył Piotr trzeba wejść w bardziej zaawansowane mechanizmy - ja bym sugerował pamięć współdzieloną (z ang. shared memory) albo jakiś mechanizm komunikacji międzyprocesowej (IPC).

Względnie jest sztuczka by obie aplikacje działały jako klient-serwer siecowy. Jako parametr przy uruchomieniu wskazujesz --client wtedy próbuje się połączyć z aplikacją główną po adresie 0.0.0.0 na wcześniej ustalonym porcie; a serwer (np. uruchamiany jako -server) zawsze ma ustawiany nasłuch.

Inne podejście to własna usługa w systemie odpowiedzialna za komunikacje, gdzie wszystkie "okienka dosowe" się podłączają by wymieniać dane - także z wykorzystaniem IPC. Możliwości jest dużo, ale wszystko to raczej killer-scenarios dla początkującego. Spróbuj przemyśleć czy napewno chcesz w to wchodzić i czy nie możesz inaczej napisać swojego oprogramowania.
P-6500
zori
Temat założony przez niniejszego użytkownika
» 2009-05-05 23:06:54
Bo napisałem program w sytlu "lan chat" do komunikacji w sieci lokalnej narazie ale jest jedna wada jak bym to zrobił w jednym oknie bo narazie sa to dwie oddzielne Aplikacje jedna do wysyłania 2 do odbierania. Troszke już pracowałem na watkach ale jeszcze nie miałem pomysłu na aplikacje gdzie to wykorzystam tylko z tego co wiem będzie jeden błąd jak zrobie to na wątkach. Może podam przykład:

mamy 2 urzytkowników: Jacek i Placek
i podam cześc kody programu po wykannau jak ja mysle jak mi to wyjdzie

Pisze z pozycji "Placka"

np.:
Trość wiadomości: Jacek: Cześć
Cześć
Trość wiadomości: Jacek: Co robisz
i jak widac dobiera pakiet i myswietla go w trisci wiadomosci jak bym to zrobił ze przechodzi do nastepnej link to znowu treść wiadomości "Placka" była by odrazu za trościa "Jacka"
Więc by to troszke nie za ciekawie wyglądało. Więc chyba bede musiał zacząc nauke WinAPI wtedy będzie to ładnie wygladać w oknie Windowsa :)
Chyba można zamknąc temat albo może ktoś coś wymyśli jak to zrobić czekam na propozycje jak jutro nic się nie pojawi to zamkne ten temat bo po co ma być otwarty :)
P-6560
pawelb
» 2009-05-06 12:27:25
"napisałem program w sytlu "lan chat" do komunikacji "
to jeśli to ma być mechanizm komunikacji. To praktycznie musi być architektura klient-serwer. Skoro już potrafisz napisać "coś" sieciowego to nie widzę powodu aby nie mógłbyś napisać dwóch aplikacji albo jednej sterowanej parametrami ;)

Co do wątków ja nie widzę żadnych problemów. Jedyną rzeczą o jakiej trzeba pamiętać to taka, że nie można modyfikować UI z wątku nie będącego głównym (ew. właścicielem kontrolki). W nasty WinAPI trzeba wysyłać wiadomość do kolejki o występieniu zdarzenia (np. chęci ustawienia tekstu).
P-6565
DejaVu
» 2009-05-06 14:07:30
Jeśli piszesz aplikację w stylu chat'a to nie robisz nigdy dwóch aplikacji - jedną do pisania, a drugą do czytania. Do tego wykorzystuje się wątki. Pierwszy (główny) wyświetla komunikaty, natomiast drugi (potomny) - odbiera komunikaty i wpisuje je do kolejki, którą później wątek główny sobie odczyta. Co do wysyłu sprawa jest prosta - możesz to zrobić z dowolnego wątku.
P-6568
« 1 » 2
  Strona 1 z 2 Następna strona