Ciao a tutti.
La mia intenzione è quella di realizzare uno stream di immagini,il server è costruito in c#, i suoi compiti sono quelli di catturare delle immagini, convertirle in array di byte e spedirle attraverso un socket con la classe networkStream.
Dovrebbe essere funzionante in quanto ho costruito anche la parte client in c# e funzionava correttamente.
Ora però dato che il client deve essere all'interno di un sito ho pensato di usare un applet in java, al momento son bloccato con la lettura dello stream in java.
Praticamente il programma ha un timer ed ogni tot secondi legge lo stream in ingresso dal socket e lo converte in una immagine. Alla prima chiamata il tutto funziona correttamente arrivano i byte li converte e l'immagine è quella di partenza, poi dal secondo giro non arriva più nulla, il buffer di ingresso sembra essere saturo come che java non lo liberasse durante la lettura e ovviamente il server in c# rimane in attesa per scrivere.
Premetto che di java me ne intendo poco.
Qualche idea a riguardo?
Di seguito il codice della classe chiamata dal timer:
public void run(){
try
{
if(inputStr.available() > 700)
{
BufferedImage bufim = ImageIO.read(inputStr);
if(bufim != null)
{
File f = new File("D:\\prova.jpg");
ImageIO.write(bufim, "jpg", f);
}
}
}
catch(Exception e){}
}
quello che si nota dal debug è che dal secondo ciclo in poi la BufferedImage è null come che dallo stream di ingresso non arrivasse più nulla
Ringrazio in anticipo chiunque rispondesse.
Cordialmente
Marco