Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Basato su piattaforma Qualcomm Snapdragon X Plus a 8 core, il nuovo Microsoft Surface Pro 12 è un notebook 2 in 1 molto compatto che punta sulla facilità di trasporto, sulla flessibilità d'uso nelle differenti configurazioni, sul funzionamento senza ventola e sull'ampia autonomia lontano dalla presa di corrente
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Il REDMAGIC Astra Gaming Tablet rappresenta una rivoluzione nel gaming portatile, combinando un display OLED da 9,06 pollici a 165Hz con il potente Snapdragon 8 Elite e un innovativo sistema di raffreddamento Liquid Metal 2.0 in un form factor compatto da 370 grammi. Si posiziona come il tablet gaming più completo della categoria, offrendo un'esperienza di gioco senza compromessi in mobilità.
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2
Dopo un mese di utilizzo intensivo e l'analisi di oltre 50 scatti, l'articolo offre una panoramica approfondita di Nintendo Switch 2. Vengono esaminate le caratteristiche che la definiscono, con un focus sulle nuove funzionalità e un riepilogo dettagliato delle specifiche tecniche che ne determinano le prestazioni
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: 517
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: 3306
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: 3306
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: 3306
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: 3306
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


Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2 Dopo un mese, e 50 foto, cosa abbiamo capito del...
Gigabyte Aero X16 Copilot+ PC: tanta potenza non solo per l'IA Gigabyte Aero X16 Copilot+ PC: tanta potenza non...
vivo X200 FE: il top di gamma si è fatto tascabile? vivo X200 FE: il top di gamma si è fatto ...
Morto Felix Baumgartner, eroe del Red Bu...
Intel prepara l'architettura 'Unified Co...
Threadripper PRO 9000 WX-Series e Radeon...
Il decimo lancio del razzo spaziale Spac...
Nuova immagine per la cometa interstella...
Usi la 'melanzana' su Tinder? Ecco perch...
AWS annuncia molte novità legate ...
Il lato oscuro della speculazione immobi...
Glyph Matrix e design asimmetrico: ...
Il sasso più costoso di sempre: p...
Ericsson punta sull'IA: arrivano nuove s...
Iliad: GIGA 200 e GIGA 150 tra le offert...
Questo power bank wireless ricarica alla...
iPhone 17 Pro e Pro Max: il nu...
Riunioni su Teams direttamente dall'auto...
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: 06:17.


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