Torna indietro   Hardware Upgrade Forum > Software > Programmazione

La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing
La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing
Abbiamo visto ancora una volta la Formula E da vicino, ospiti di Jaguar TCS Racing. In questa occasione però curve e rettilinei erano quelli di un circuito permanente, molto diverso dagli stretti passaggi delle strade di Roma
Lenovo LEGION e LOQ: due notebook diversi, stessa anima gaming
Lenovo LEGION e LOQ: due notebook diversi, stessa anima gaming
Lenovo ha puntato forte sul gaming negli ultimi anni e lo testimoniano i marchi LEGION e LOQ, il primo per gli amanti delle massime prestazioni e dell'assenza di compromessi, il secondo per chi desidera soluzioni dal buon rapporto tra prestazioni e prezzo. Abbiamo provato due esponenti dell'offerta, così da capire l'effettiva differenza prestazionale.
Nothing Ear e Ear (a): gli auricolari per tutti i gusti! La ''doppia'' recensione
Nothing Ear e Ear (a): gli auricolari per tutti i gusti! La ''doppia'' recensione
Nothing propone sul mercato non uno ma ben due auricolari nuovi: Ear di terza generazione e Ear (a) ossia un nuovo modello a basso costo pronto a ritagliarsi una fetta di mercato. Entrambi rimangono fedeli al marchio per il design ancora trasparente ma fanno un balzo in avanti notevole per qualità e soppressione del rumore.  
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-04-2008, 15:50   #1
Napalm
Senior Member
 
L'Avatar di Napalm
 
Iscritto dal: May 2000
Messaggi: 1135
[JAVA] Usare DLL C#

Salve,
io ho un DLL scritta con c# ma devo usarla in java; fare il porting è un suicidio perché è molto complessa quindi ci metterei una vita non avendo la sicurezza che funziona al 100%.
Vorrei sapere se esiste un modo e quindi una guida che spiega l'uso delle DLL con java.
Grazie

NapalM
__________________
Quote:
Originariamente inviato da trallallero Guarda i messaggi
Gli anti-fascisti, quelli fascisti coi fascisti, "i diversamente fascisti" (cit. "Napalm"), non meritano il mio rispetto
Napalm è offline   Rispondi citando il messaggio o parte di esso
Old 28-04-2008, 16:04   #2
yorkeiser
Senior Member
 
L'Avatar di yorkeiser
 
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 515
Per richiamare una dll da Java puoi usare le Java Native Interface (googla per jni)
__________________
Il sole è giallo
yorkeiser è offline   Rispondi citando il messaggio o parte di esso
Old 28-04-2008, 16:09   #3
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Dovresti riuscire a farlo in diversi modi:
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 29-04-2008, 09:12   #4
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3305
Quote:
Originariamente inviato da yorkeiser Guarda i messaggi
Per richiamare una dll da Java puoi usare le Java Native Interface (googla per jni)
Solo che una DLL C# è tutto fuorché Native
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 29-04-2008, 11:49   #5
Napalm
Senior Member
 
L'Avatar di Napalm
 
Iscritto dal: May 2000
Messaggi: 1135
Grazie delle risposte.

Mi sono documentato e mi pare di capire con JNI devo cmq scrivere una classe in java con i metodi che dovrei usare, il fatto è che fra variabili metodi e classi della DLL ci metterei na vita a scriverle.

Boh, ora il fatto è che se faccio questo client in C# non sò se posso usare i webservice del server java... ora è client/server java ed èok, il problema è che questi nuovi apparati che devo pilotare hanno solo librerie c# quindi sono panato

Napalm
__________________
Quote:
Originariamente inviato da trallallero Guarda i messaggi
Gli anti-fascisti, quelli fascisti coi fascisti, "i diversamente fascisti" (cit. "Napalm"), non meritano il mio rispetto
Napalm è offline   Rispondi citando il messaggio o parte di esso
Old 29-04-2008, 12:31   #6
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3305
Quote:
Originariamente inviato da Napalm Guarda i messaggi
Boh, ora il fatto è che se faccio questo client in C# non sò se posso usare i webservice del server java... ora è client/server java ed èok, il problema è che questi nuovi apparati che devo pilotare hanno solo librerie c# quindi sono panato

Napalm
Potresti spiegare di che tipo di assembly si tratta e quali sono le funzionalità?

Perchè hai tirato in ballo i webservice e in questo caso potresti scrivere semplicemente un client C# che dialoghi con webservice Java o viceversa.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 29-04-2008, 13:05   #7
Napalm
Senior Member
 
L'Avatar di Napalm
 
Iscritto dal: May 2000
Messaggi: 1135
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Potresti spiegare di che tipo di assembly si tratta e quali sono le funzionalità?
In pratica sono classi che servono per la gestione di un hardware che permette la lettura di tag rfid. Abbiamo sempre usato classi native in java, il problema è che nuovi reader hanno solo classi in c# quindi non si possono "amalgamare" con le nostre in java.

Quote:
Originariamente inviato da tomminno Guarda i messaggi
Perchè hai tirato in ballo i webservice e in questo caso potresti scrivere semplicemente un client C# che dialoghi con webservice Java o viceversa.
In pratica il client è formato da un thread che legge i dati (quindi connessione all'hardware e lettura) e un thread che manda queste letture al server tramite webservices il tutto scritto in java.
La mia domanda da ignorante è appunto la possibilità di scrivere la parte client che si connette al webservices in c# anche se chi riceve o manda la richiesta è un server java.

NapalM
__________________
Quote:
Originariamente inviato da trallallero Guarda i messaggi
Gli anti-fascisti, quelli fascisti coi fascisti, "i diversamente fascisti" (cit. "Napalm"), non meritano il mio rispetto
Napalm è offline   Rispondi citando il messaggio o parte di esso
Old 29-04-2008, 15:27   #8
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3305
Quote:
Originariamente inviato da Napalm Guarda i messaggi
In pratica sono classi che servono per la gestione di un hardware che permette la lettura di tag rfid. Abbiamo sempre usato classi native in java, il problema è che nuovi reader hanno solo classi in c# quindi non si possono "amalgamare" con le nostre in java.
Certo che sei fortunato ad avere un SDK per i tag rfid, gli hardware che ho usato io avevano un foglio dove erano spiegati (molto male) i comandi supportati

Quote:
In pratica il client è formato da un thread che legge i dati (quindi connessione all'hardware e lettura) e un thread che manda queste letture al server tramite webservices il tutto scritto in java.
La mia domanda da ignorante è appunto la possibilità di scrivere la parte client che si connette al webservices in c# anche se chi riceve o manda la richiesta è un server java.

NapalM
In C# i webservice sono molto semplici, apri la soluzione e con il tasto desto sul progetto esegui un "Add Web Reference...", inserisci la url del webservice, ti scegli un namespace "umano", a questo punto hai già tutto quello che ti serve per richiamare comodamente il webservice.

Però i webservice sono strumenti "monodirezionali", il client non può ricevere qualcosa dal server se non la risposta ad una richiesta, dato che i messaggi SOAP transitano sopra l'HTTP.

Altrimenti ti serve una tradizionale connessione client-server, a quel punto sei te che conosci il protocollo di comunicazione con il server a dover implementare un client che parli la lingua corretta.
In ogni caso non c'è problema.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 29-04-2008, 15:56   #9
Napalm
Senior Member
 
L'Avatar di Napalm
 
Iscritto dal: May 2000
Messaggi: 1135
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Certo che sei fortunato ad avere un SDK per i tag rfid, gli hardware che ho usato io avevano un foglio dove erano spiegati (molto male) i comandi supportati
Materiale della FEIG se conosci, le librerie in java soffrono di qualche baco ma meglio di niente. Ho provato a partire dalla creazione della connessione seriale e poi a dare i comandi a mano ma non ci capisco nulla.

Quote:
Originariamente inviato da tomminno Guarda i messaggi
In C# i webservice sono molto semplici, apri la soluzione e con il tasto desto sul progetto esegui un "Add Web Reference...", inserisci la url del webservice, ti scegli un namespace "umano", a questo punto hai già tutto quello che ti serve per richiamare comodamente il webservice.

Però i webservice sono strumenti "monodirezionali", il client non può ricevere qualcosa dal server se non la risposta ad una richiesta, dato che i messaggi SOAP transitano sopra l'HTTP.

Altrimenti ti serve una tradizionale connessione client-server, a quel punto sei te che conosci il protocollo di comunicazione con il server a dover implementare un client che parli la lingua corretta.
In ogni caso non c'è problema.
proverò questa implementazione, il fatto che cmq mi devo scrivere del codice c# partendo dalla vecchia applicazione client java

Grazie cmq

NapalM
__________________
Quote:
Originariamente inviato da trallallero Guarda i messaggi
Gli anti-fascisti, quelli fascisti coi fascisti, "i diversamente fascisti" (cit. "Napalm"), non meritano il mio rispetto
Napalm è offline   Rispondi citando il messaggio o parte di esso
Old 29-04-2008, 16:36   #10
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3305
Quote:
Originariamente inviato da Napalm Guarda i messaggi
Materiale della FEIG se conosci, le librerie in java soffrono di qualche baco ma meglio di niente. Ho provato a partire dalla creazione della connessione seriale e poi a dare i comandi a mano ma non ci capisco nulla.
Per quanto riguarda i comandi, sono tutti binari seguiti dal CRC, il problema sono le risposte, differenti da comando a comando, ognuna con la sua logica.

Quote:
proverò questa implementazione, il fatto che cmq mi devo scrivere del codice c# partendo dalla vecchia applicazione client java

Grazie cmq

NapalM
Se hai davvero a che fare con i webservice non hai bisogno di partire dal client Java, se invece hai un semplice server (non webservice) allora si devi riscriverti tutta l'implementazione del protocollo di comunicazione che usavi prima.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 29-04-2008, 16:45   #11
Napalm
Senior Member
 
L'Avatar di Napalm
 
Iscritto dal: May 2000
Messaggi: 1135
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Per quanto riguarda i comandi, sono tutti binari seguiti dal CRC, il problema sono le risposte, differenti da comando a comando, ognuna con la sua logica.
boh, io ho provato a connettermi alla seriale tramite le rxtx però non ho neanche capito se la connessione è andata a buon fine o no.
Con un semplice relè su RS232, connettevo la seriale con rxtx.. aprivo un input e output stream, inviavo il comando con la output.write, avevo la sua risposta ed il gioco è fatto.
Penso che invece con i reader la questione sia più complessa, il fatto che oltre al comando in se (tipo :0x1201) bisogna dare anche i flag e vari altri dati.
Ho provato a vedere le classi c# per provare a riscriverle in java, ma sono molto complesse.

Quote:
Originariamente inviato da tomminno Guarda i messaggi
Se hai davvero a che fare con i webservice non hai bisogno di partire dal client Java, se invece hai un semplice server (non webservice) allora si devi riscriverti tutta l'implementazione del protocollo di comunicazione che usavi prima.
Mi hai frainteso, è che devo "copiare" il client in java per portarlo in c#... è quella la lunghezza del lavoro.

NapalM
__________________
Quote:
Originariamente inviato da trallallero Guarda i messaggi
Gli anti-fascisti, quelli fascisti coi fascisti, "i diversamente fascisti" (cit. "Napalm"), non meritano il mio rispetto
Napalm è offline   Rispondi citando il messaggio o parte di esso
Old 26-05-2008, 11:08   #12
Napalm
Senior Member
 
L'Avatar di Napalm
 
Iscritto dal: May 2000
Messaggi: 1135
Quote:
Originariamente inviato da tomminno Guarda i messaggi


In C# i webservice sono molto semplici, apri la soluzione e con il tasto desto sul progetto esegui un "Add Web Reference...", inserisci la url del webservice, ti scegli un namespace "umano", a questo punto hai già tutto quello che ti serve per richiamare comodamente il webservice.

Però i webservice sono strumenti "monodirezionali", il client non può ricevere qualcosa dal server se non la risposta ad una richiesta, dato che i messaggi SOAP transitano sopra l'HTTP.
L'ho fatto, ho aggiunto il riferimento web, ho visto i files che mi ha generato.
A questo punto istanzio la classe creata, chiamo il metodo ma mi ritorna questo errore:
"richiesta non riuscita con codice stato HTTP 405: metodo non consentito".
mentre chiamandolo in java funziona.
Che problema può essere?

NapalM
__________________
Quote:
Originariamente inviato da trallallero Guarda i messaggi
Gli anti-fascisti, quelli fascisti coi fascisti, "i diversamente fascisti" (cit. "Napalm"), non meritano il mio rispetto
Napalm è offline   Rispondi citando il messaggio o parte di esso
Old 26-05-2008, 11:26   #13
Napalm
Senior Member
 
L'Avatar di Napalm
 
Iscritto dal: May 2000
Messaggi: 1135
Bah, che errore da cane! Il files .cs generato avevo un riferimento web errato per cui mi dava quell'errore...

NapalM
__________________
Quote:
Originariamente inviato da trallallero Guarda i messaggi
Gli anti-fascisti, quelli fascisti coi fascisti, "i diversamente fascisti" (cit. "Napalm"), non meritano il mio rispetto
Napalm è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing La Formula E può correre su un tracciato ...
Lenovo LEGION e LOQ: due notebook diversi, stessa anima gaming Lenovo LEGION e LOQ: due notebook diversi, stess...
Nothing Ear e Ear (a): gli auricolari per tutti i gusti! La ''doppia'' recensione Nothing Ear e Ear (a): gli auricolari per tutti ...
Sony FE 16-25mm F2.8 G: meno zoom, più luce Sony FE 16-25mm F2.8 G: meno zoom, più lu...
Motorola edge 50 Pro: design e display al top, meno il prezzo! Recensione Motorola edge 50 Pro: design e display al top, m...
Kingdom Come Deliverance II: il seguito ...
Logitech M750 Signature AI Edition: il p...
Cisco presenta Hypershield, una soluzion...
Arriva Mastercard For Fintechs, il perco...
TSMC avverte il mondo: i chip fabbricati...
Auricolari economici CMF by Nothing Buds...
Fallout, la serie TV: la Stagione 2 &egr...
L'assistente virtuale Meta AI diventa pi...
iPhone 15 Pro 1 TB è sceso a 1.442€. Il ...
LastPass, campagna di phishing ai danni ...
ECOVACS DEEBOT T30 PRO OMNI è ancora dis...
Apple Watch Series 9 GPS + Cellular 45mm...
Apple verso la sostenibilità con ...
SK hynix e TSMC insieme per realizzare l...
Vi siete persi l'Antologia di Fallout in...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:47.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Served by www3v