Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-10-2003, 10:39   #1
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
[C# + COM] programmazione avanzata

Ho un problemone che mi sta facendo impazzire
Ho due programmi scritti in C# Client e server (comunicanti via Socket) che si appoggiano entrambi su un oggetto COM (la cosa avviene in maniera trasparente importandolo in VS.NET) che mi wrappa le funzionalità di pgp (encrypt, decrypt, sign e verify principalmente).
Il client manda un messaggio al server firmato, il server risponde con un altro firmato, il cliente replica di nuovo con mess firmato e la comunicazione viene chiusa dal server con un altro mess firmato.
Il problema è che se lancio i programmi debuggandoli step by step il protocollo funziona e giunge a termine.
Se li lancio senza fare debug si inchiodano, nel senso che non portano a termine lo scambio di messaggi ed uno dei due rimane in attesa infinita di messaggi.
Ho notato che il server (ho provato in varie maniere...) si ferma su una chiamata all'oggetto COM... quasi come se il COM non riuscisse a gestire la concorrenza...
Non conosco l'architettura esatta degli oggetti COM...

Vi sono infinitamente grato dell'aiuto... e se qualcuno mi risolve il problema gli offro pure una pizza in zona BO...
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 28-10-2003, 12:21   #2
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
Altre prove e sempre più convinto di una conclusione... è problema del COM... è come se non riuscisse a gestire la concorrenza di più richieste da parte di clienti...
Ho provato a scrivere al programmatore che l'ha fatto e questa volta non mi risponde (per adesso)... mentre in passato l'ha fatto...

Comunque ho trovato un bruttissimo accrocchio che in teoria (se il problema è effettivamente questo) dovrebbe risolvere il problema:
- faccio un server .net remoting locale con la stessa interfaccia del COM (così domani se il COM dovesse essere corretto è sufficiente cambiare la using...)
- faccio le richieste a questo server che implicitamente serializza le richieste concorrenti...

Problemone di fondo: le richieste passano in chiaro (serializzate ma non certamente criptate) sul computer locale, questo significa che la pwd è estraibile... vabbé... siccome è un progetto universitario potrei scendere a questo compromesso e spiegare i problemi incontrati...

Consigli o pareri sono bene accetti

Ultima modifica di soalle : 28-10-2003 alle 13:03.
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 29-10-2003, 12:28   #3
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
Immagino non interessi a nessuno ma ci provo...

Alla fine il problema era che l'oggetto COM non gestiva la concorrenza di più richieste fatte da più processi (non so se è un problema del COM stesso o dell'infrastruttura .NET per l'interfacciamento a COM...)

Ho risolto realizzando un server remoting che espone un oggetto che wrappa il COM e avente la stessa interfaccia del COM.
In questo modo nei processi client ho inserito il codice per andarsi a prendere l'oggetto dal server remoting e il tutto è stato risolto...
Risolto grazie alla struttura intrinseca di remoting (SINGLETON non Single call) che serializza le chiamate derivanti dai processi... è chiaro che avrei potuto realizzare il tutto senza remoting... ma così è stato molto più facile perché ho dovuto cambiare ben poco nei processi clienti...

Vabbé.... pensare alla settimana che ho perso per capire che era il COM che non funzionava...
soalle è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Avio si prepara ai test del Dimostratore...
Space Pioneer ha annunciato le cause del...
Anthropic avrebbe nuovi antibiotici cont...
Scoperto un 'moltiplicatore nascosto' ne...
DREO: a IFA 2026 4 novità fra cui...
Slackbot genera dashboard e microsite de...
Idrogeno, nuova cella a combustibile rag...
Con la NASA fuori dai giochi, l'ESA risc...
Una falla di ChatGPT permette di estrapo...
Piano clima, 1,34 miliardi per il bonus ...
Porsche esce definitvamente da Bugatti R...
NVIDIA App aggiunge una delle funzioni p...
Come sarebbe il mondo se la luce viaggia...
Titanio, ceramica e zaffiro per HUAWEI W...
Taglio delle accise sul gasolio prorogat...
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: 22:48.


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