Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Nelle ultime settimane abbiamo provato il mouse Logitech G305, la tastiera G316 X 98 e le cuffie G325. Si tratta del setup entry-level di Logitech che ormai, di "entry-level" ha ben poco. Tastiera e mouse offrono prestazioni di livello competitivo con quasi nessuna rinuncia e un livello di personalizzazione estremamente elevato. Le cuffie, invece, hanno mostrato qualche debolezza, ma propongono un ventaglio di funzionalità completo che consente di abbandonare completamente i cavi
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
POCO F9 Pro arriva sul mercato con l'obiettivo di portare prestazioni da smartphone top di gamma in una fascia di prezzo "più aggressiva", senza rinunciare a un comparto fotografico finalmente all'altezza. Dopo averlo testato sul campo, emerge uno smartphone molto più completo rispetto alla generazione precedente, ma anche con alcuni piccoli compromessi che diventano difficili da ignorare quando il prezzo di listino sfiora i 1.000 euro.
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI
Snapdragon Soung Gen 2 è la piattaforma Qualcomm per i dispositivi audio sempre più integrati nel mondo dell'intelligenza artificiale: al prorpio interno tanta potenza elaborativa per gestire al meglio le necessità d'uso dell'agentic AI
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


Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6 Qualcomm annuncia la nuova generazione di SoC Sn...
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole! realme 16 Pro Harry Potter Edition: il nuovo mid...
Eni mette un tetto ai prezzi dei carbura...
BYD Seagull (Dolphin Surf), l'elettrica ...
Multa milionaria per un data center del ...
F-Droid 2.0 si aggiorna con una nuova gr...
Microsoft ridisegna Copilot: dalla chat ...
Volkswagen porterà 20 videogiochi...
Troppa IA storpia: OpenAI licenzia in tr...
Marathon, Bungie svela i contenuti dell'...
Autunno, tempo di potature: i tagliasiep...
Meta Muse, due sviluppatori riescono a o...
Google AI Pro gratis: festa a sorpresa p...
MacSync colpisce macOS usando i calendar...
L'agente IA cancella 48 mila file in 103...
Jensen Huang avverte: l'AI può aiutare a...
Elettrico Renault in arrivo in Spagna: 6...
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: 18:43.


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