|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 502
|
[Java]comunicazione tra applicazioni in locale
Salve a tutti,
Per un progetto universitario ho la necessità di creare una specie di protocollo di comunicazione fra più processi separati senza l'utilizzo di socket e derivati. In pratica ho due interfaccie grafiche diverse che devono comunicare in locale sulla stessa macchina. Ad esempio la prima deve mandare una stringa che venga intercettata dalla seconda. Diciamo un applicazione client/server senza però l'utilizzo di socket. Ho cercto un pò su internet ma non ho trovato niente che mi permetta di fare questo. Utilizzando i vari canali di stream riesco a fr comunicare due processi solamente utilizzando un'applicazione che lì genera e che ovviamente condivide lo stesso canale, ma con due applicazioni differenti? Qualche idea? Magari anche qualche semplice esempio o qualche link utile, sono un pò in crisi, e il bello è che penso sia piuttosto semplice come realizzazione, ma non ho trovto ancor una soluzione grazie a tutti in anticipo... |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
dato che shared memory e altri simpatici ammenicoli in java ti sono preclusi io non vedo altra alternativa che:
- socket - rmi o corba o altro protocollo di alto livello che comunque ha una implementazione sottostante che si basa su socket - un processo scrive su un determinato file e un altro legge (un po' primitivo ma potrebbe funzionare) |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 502
|
bella fregatura...
ma con shared memory e altri ammenicoli cosa intendi? perchè mi sarebbero preclusi? Ma le pipedOutput/inputStream come cavolo funzionano, ho capito che servono per lavorare con i thread(è un progetto di sistemi operativi) però non ho ben capito il loro reale utilizzo.. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
intendevo che ad esempio programmando in C su linux (ma penso anche su windows) hai accesso a differenti meccanismi per far colloquiare due processi in esecuzione sulla stessa macchina. In Java non puoi utilizzare esplicitamente dei meccanismi propri del sistema operativo su cui la jvm è in esecuzione per cui il "campionario" è limitato agli esempio che ti ho fatto prima.
PipedInput/PipedOutputStream possono essere usati a livello di thread differenti nella stessa VM, non di processi differenti. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 502
|
ma quindi in pratica mi hanno proposto di fare un progetto piuttosto irrealizzabile?
Non penso che il docente stesse pensando ad un leggere e scrivere su file, troppo macchinoso e inutile. Cavolo pensavo fosse una cosa semplice. Del resto non è neanchè possibile che stesse pensando all'utilizzo di una sola jvm, di un solo programma per intenderci, anche perchè nelle richieste è esplicita la necessità di individuare la presenza dinamica di nuovi client che si "connettono". uhm... Grazie della risposta comunque! Se vi vengono in mente idee non esitate... |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 502
|
ops...ho sbaià :-/
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 2001
Città: Palermo
Messaggi: 1977
|
programmazione ad agenti, protocollo Fipa, piattaforma Jade e passa la paura
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
si può utilizzare jade.... ma alla fine non capisco proprio il divieto dei socket.....
anke perkè se nn sbaglio jade alla fine basa tutto proprio su dei socket.....
__________________
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:31.



















