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
User oder E-Mail
Passwort
·
Passwort vergessen
·
Kostenlos anmelden
Information
Demo
Features
Im Vergleich
Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
Kundenservice
Impressum
Datenschutz
AGB
Status
4.517 User online
0 User eingeloggt
Beiträge
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
Antworten
Neuer Beitrag
Gesamtdarstellung
Detaildarstellung
Einzeldarstellung
Threaddarstellung
Beitrag 561 von 610 (92%)
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