carookee - group communication for you
Home / JavaForum / Networking
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
5.809 User online
1 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 43 von 610 (7%) |<   <   >   >|

Autor question13
Datum 19.07.05, 13:35
Betreff Client abort Exception


hi,

Ich habe ein Problem mit dem versenden eines ByteArrays von einem Servlet zu einem applet
Das servlet empfängt das byte Array (ist ein png.File ) von einem SessionBean. Wenn das byte array zum applet gesendet wird tritt folgende Fehlermeldung auf:
(das byteArray ist um die 50kb groß)

Client abort Exception : java.net.socket Exception Software caused connection abort write Error

Bin dankbar für jede Hilfe:

Hier ist der code:


----------------Applet----------------


private void getFiles() {

// benötigte ByteArrays
byte [] picBytes = null;
byte [] keyBytes = null;
SecretKey keyHolder = null;

String docID = getParameter("documentID");
String docSubID = getParameter("documentSubID");

buf.append("docID:" +docID);
buf.append("docSubID: "+docSubID);

try {
URL url = new URL(getCodeBase(),"helper?param=file&docID="+docID+"&docSubID="+docSubID);
buf.append("CodeBase: "+getCodeBase());
URLConnection uc = url.openConnection();
uc.setUseCaches(false);
uc.setDoInput(true);
uc.setDoOutput(false);
DataInputStream dis = new DataInputStream(uc.getInputStream());
int size = dis.readInt();
picBytes = new byte[size];

dis.read(picBytes,0,picBytes.length);

dis.close();

} catch (MalformedURLException mue){
buf.append("MalformedURLException: "+mue.getMessage());
} catch (IOException e) {
buf.append("IOException: "+e.getMessage());

}

try {
URL url2 = new URL(getCodeBase(),"helper?param=key&docID="+docID+"&docSubID="+docSubID);
URLConnection uc2 = url2.openConnection();

uc2.setUseCaches(false);
uc2.setDoInput(true);
uc2.setDoOutput(false);

DataInputStream dis = new DataInputStream(uc2.getInputStream());
int size = dis.readInt();
keyBytes = new byte[size];
int j=0;
dis.read(keyBytes,0,size);

dis.close();
buf.append("Größe keybytes: "+size);
System.out.println("Größe keybytes: "+size);
this.buf.append("Länge keyBytes in Applet: "+keyBytes.length);


} catch (MalformedURLException mue){
buf.append("MalformedURLException: "+mue.getMessage());
} catch (IOException e) {
buf.append("IOException: "+e.getMessage());

}
keyHolder = new SecretKeySpec(keyBytes,"DESede");
//byte [] decBytes = decrypt.decryptByteArray(picBytes,keyHolder);
//buf.append("Länge decBytes: "+decBytes.length);


image = Toolkit.getDefaultToolkit().createImage(picBytes,0,picBytes.length);

}//end getFiles


------------Servlet---------------



public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {


HelperSessionLocal hsl = null;
param = request.getParameter("param");
System.out.println("Parameter param: "+param);
String docID = request.getParameter("docID");
System.out.println("DocumentID: "+docID);
String docSubID = request.getParameter("docSubID");
System.out.println("DocumentSubID: "+docSubID);
response.setContentType("application/octet-stream");

try {
hsl = hslh.create();
}catch (CreateException ce){
System.out.println("Create Exception in HelperSession!"+
"\nFehler: "+ce.getMessage());
}
try {

if (param.equals("file")){

// picBytes = new byte[(int)hsl.getFile(docID,docSubID).length];
byte [] picBytes = hsl.getFile(docID,docSubID);
System.out.println("picBytes geholt:");
System.out.println("Länge picBytes in HelperServlet: "+picBytes.length);
response.setContentLength(picBytes.length);
System.out.println("länge nach Konvertierung in int"+(int)picBytes.length);
DataOutputStream dos = new DataOutputStream(response.getOutputStream());
dos.writeInt(picBytes.length);
System.out.println("Länge PicBytes geschrieben: "+(int)picBytes.length);
dos.write(picBytes,0,picBytes.length);
dos.flush();
dos.close();
System.out.println("picBytes geschrieben");



}else if (param.equals("key")){
//keyBytes = new byte[(int)hsl.getFileKey(docID,docSubID).length];
byte []keyBytes = hsl.getFileKey(docID,docSubID);
System.out.println("Keybytes geholt");
response.setContentLength(keyBytes.length);
System.out.println("Länge keyBytes in HelperServlet: "+keyBytes.length);
DataOutputStream dos = new DataOutputStream(response.getOutputStream());
dos.writeInt(keyBytes.length);
System.out.println("Länge keyBytes geschrieben"+(int)keyBytes.length);
dos.write(keyBytes,0,keyBytes.length);
dos.flush();
dos.close();
System.out.println("keyBytes geschrieben");

}//end elseif


}catch (IOException e){
System.out.println("IOException in HelperServlet: "+e.getMessage()
+e.getCause());


}catch (Exception e ){
System.out.println("Exception in HelperServlet: "+e.getMessage());


 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com