Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 13.12.2013, 13:55   #1
clzola
Član
 
Član od: 14.4.2010.
Lokacija: Podgorica
Poruke: 332
Zahvalnice: 61
Zahvaljeno 11 puta na 11 poruka
Određen forumom Komunikacija izmedju procesa

(Linux)
Imam na primjer sljedecu situaciju:
Server napisan u C-u (ili bilo kojem drugom jeziku koji moze da podrzi ono sto ja trazim) ciji je zadatak samo da prima poruke (komande od klijenta) i izvrsava ih.
Upaljen recimo VLC Player i ide neki film.

Korisnik sa klijenta posalje komandu da pauzira film.
Ja zelim da server primi tu poruku obradi je i pauzira film. Jedan nacin bi bio da simuliram space taster ali u tom slucaju VLC mora da bude aktivni prozor.
Drugi nacin (ja mislim da bi moglo to) je preko komunikacije izmedju procesa. Svaki proces bi trebalo u tabeli procesa koju cuva sami OS da ima polje mailbox (da ga tako nazovemo).

Mene interesuje da li postoji neki clanak kako da ja rijesim ovaj problem. To jeste kako ja da kazem drugom procesu izvrsi ovu naredbu (U ovom slucaju bih ja VLC procesu poslao event da je "pritisnuto" dugme pause)

Ako me kapirate sta pokusavam.
Radi se o projektu za fakultet. Ono sto ja zelim je da napravim Server na kompjuter koji ce da prima porukice sa Android telefona i da ih izvrsava u vidu komandi (Nesto remote control) sa dodatnim opcijama da se kontrolisu odredjeni programi (Par njih, ne vise od 5-6). Prvenstveno me interesuje Linux platforma.
clzola je offline   Odgovor sa citatom ove poruke
Stara 13.12.2013, 14:24   #2
water wizard
Deo inventara foruma
 
Član od: 29.1.2008.
Poruke: 20.705
Zahvalnice: 439
Zahvaljeno 4.092 puta na 3.804 poruka
Određen forumom Re: Komunikacija izmedju procesa

moraš da imaš spisak public procedura i funkcija u tom VLC i onda možeš da ih pozivaš i prosleđuješ argumente, za sve to ti treba odlično poznavanje programiranja u programu u kome želiš da radiš plus odlično poznavanje linux platforme..
water wizard je offline   Odgovor sa citatom ove poruke
Stara 13.12.2013, 15:38   #3
Teva
Starosedelac
 
Član od: 23.2.2006.
Lokacija: Tamo gde su kuće od čokolade i prozori od marmelade....
Poruke: 1.579
Zahvalnice: 195
Zahvaljeno 301 puta na 171 poruka
Određen forumom Re: Komunikacija izmedju procesa

Mailbox se ne podrazumeva. Da bi proces komunicirao sa drugim procesom mora da postoji implementirana komunikacija u okviru programa (koristeći pipe ili neki deljeni resurs). U smislu, ok ja mogu iz procesa A da upišem u neki fajl nešto i da se nadam da će proces B to da pročita u nekom trenutku, ali ako proces B u sebi nema implementirano čitanje datoteke u koju sam ja nešto pisao iz procesa A onda sam džabe pisao (džabe ste krečili).

Da bi uticao na tok drugog procesa (u smislu pauziraj film ili nešto slično što se tiče "semantike" izvršavanja, nešto što ne suspenduje ili gasi instancu procesa) potreban je nekakav API, bilo da je on podržan za komunikaciju sa drugim procesima ili da nateraš sistem da "imitira" tvoje komande onako kako je program zamišljen da se koristi.

Možda postoji neki drugi način ali ja nisam čuo za njega.
Teva je offline   Odgovor sa citatom ove poruke
Stara 13.12.2013, 19:54   #4
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.269
Zahvalnice: 2.175
Zahvaljeno 5.002 puta na 2.915 poruka
Određen forumom Re: Komunikacija izmedju procesa

Na Windowsu je ovo izuzetno lako, pronađe se prozor preko FindWindow i pošalje se odgovarajuća poruka koja odgovara eventu (recimo klik). Recimo ovako funkcionišu key generatori za Electronic Arts igre, ako ste primetili da kad generišete ključ preko Reloadedovih generatora, isti automatski biva pejstovan u prozor EA setupa koji vas pita za ključ.

Možda postoji nešto slično kod window managera na Unixima?
voodoo_ je offline   Odgovor sa citatom ove poruke
Stara 13.12.2013, 20:42   #5
clzola
Član
 
Član od: 14.4.2010.
Lokacija: Podgorica
Poruke: 332
Zahvalnice: 61
Zahvaljeno 11 puta na 11 poruka
Određen forumom Re: Komunikacija izmedju procesa

Znaci moj se problem svodi na to da dovedem prozor nad kojim zelim da izvrsim event da bude aktivni prozor i onda odradim event (u mom slucaju za VLC simuliram kao da sam pritisnuo taster space na tastaturi).

Nasao sam xdotool: http://tuxradar.com/content/xdotool-script-your-mouse
Koliko vidim ona moze da postavi prozor koji ja zelim da bude aktivni prozor.
Cini mi se da bi sa ovim mogao da rijesim ovaj problem

A takodje imaju C Biblioteke libxdo-dev i libxdo2...
Ali nista nisam uspio da nadjem za FindWindow alternativu
clzola je offline   Odgovor sa citatom ove poruke
Stara 13.12.2013, 21:57   #6
Teva
Starosedelac
 
Član od: 23.2.2006.
Lokacija: Tamo gde su kuće od čokolade i prozori od marmelade....
Poruke: 1.579
Zahvalnice: 195
Zahvaljeno 301 puta na 171 poruka
Određen forumom Re: Komunikacija izmedju procesa

Citat:
voodoo_ kaže: Pregled poruke
Na Windowsu je ovo izuzetno lako, pronađe se prozor preko FindWindow i pošalje se odgovarajuća poruka koja odgovara eventu (recimo klik). Recimo ovako funkcionišu key generatori za Electronic Arts igre, ako ste primetili da kad generišete ključ preko Reloadedovih generatora, isti automatski biva pejstovan u prozor EA setupa koji vas pita za ključ.

Možda postoji nešto slično kod window managera na Unixima?
Stećiću utisak da je sistemsko programiranje lakše za win nego za *nix xD
Teva je offline   Odgovor sa citatom ove poruke
Stara 14.12.2013, 12:48   #7
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.269
Zahvalnice: 2.175
Zahvaljeno 5.002 puta na 2.915 poruka
Određen forumom Re: Komunikacija izmedju procesa

Šta misliš zašto ima toliko više malware-a na Windowsu nego na Unixima
voodoo_ je offline   Odgovor sa citatom ove poruke
Stara 14.12.2013, 14:52   #8
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Određen forumom Re: Komunikacija izmedju procesa

Nema potrebe da koristiš tako "prljav" način. VLC možeš da pokreneš u isto vreme sa, recimo, Qt i telnet interfejsom (na localhostu) i da mu pomoću tog soketa govoriš šta da radi. Više informacija ovde: https://wiki.videolan.org/Interfaces
Geomaster je offline   Odgovor sa citatom ove poruke
Stara 14.12.2013, 17:30   #9
water wizard
Deo inventara foruma
 
Član od: 29.1.2008.
Poruke: 20.705
Zahvalnice: 439
Zahvaljeno 4.092 puta na 3.804 poruka
Određen forumom Re: Komunikacija izmedju procesa

Citat:
voodoo_ kaže: Pregled poruke
Šta misliš zašto ima toliko više malware-a na Windowsu nego na Unixima
zbog igrica...

btw, ovo što je Geomaster napisao je najbolji način za tvoj posao, ako nađeš takve komande i za ostale programe koje želiš da koristiš a pošto je linux kao freeware trebalo bi da ima open source i za ostale pa možeš da proučavaš komande..
naravno možeš i na lakši način scriptama i makroima ali to mislim da nije ono što treba na fakultetu, mada ako imaš vremena možeš da proučiš i taj način
water wizard je offline   Odgovor sa citatom ove poruke
Stara 15.12.2013, 14:17   #10
clzola
Član
 
Član od: 14.4.2010.
Lokacija: Podgorica
Poruke: 332
Zahvalnice: 61
Zahvaljeno 11 puta na 11 poruka
Određen forumom Re: Komunikacija izmedju procesa

@water wizard
Ma bitno je da radi, mogu da koristim sta god ja hocu a vremena imam pola godine

Hvala na komentarima, nastavicu da istrazujem o ovome.
clzola je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
How to... Java ivan90BG Programiranje 324 25.7.2020 21:56
Suzbijanje prostora izmedju redova (reci, slova..)?? Romantic Aplikativni softver 1 7.10.2013 15:36
Izbor izmedju HP Pavilion dv7-3160em i Toshiba Satellite L670-10P marka ŠDK - Prenosni računari 9 28.7.2010 22:41
Razlika izmedju Adsl i kablovskog ?? Starface Internet usluge 3 6.6.2010 21:35
Razlika izmedju QuadroFX/FireGL i "obicnih" grafickih kartica? galebns Grafika 8 3.4.2006 11:50


Sva vremena su po Griniču +2 h. Sada je 4:29.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2025, vBulletin Solutions, Inc.
Hosted by Beograd.com