09. november 2004 - 10:50Der er
19 kommentarer og 1 løsning
Sende byte array afsted via tcpip klasse
Jeg har et problem med at sende et byte array afsted via min tcpip klasse. I funktionen opretter jeg først et byte array (sende), hvorefter jeg definere værdierne i arrayet. Når så jeg vil sende arrayet afsted via. gtp.send((byte)sende); skriver den at den forventer en byte og ikke et byte array. Og det selvom der i tcpip klassen, hvor send er defineret kan sendes som et byte array.
Håber der er nogle som ved hvad jeg gør galt.
>>>>>>>Funktion start<<<<<<<<<
void update_name(){ int i; byte[] in; byte[] sende = new byte[4]; boolean get = false; sende[0] = (byte)00; sende[1] = (byte)01; sende[2] = (byte)00; sende[3] = (byte)248;
String name = new String(""); /* gtp.send_escape(); in = gtp.receive(); gtp.send_escape(); gtp.send_enter(); */ try { Thread.currentThread().sleep(200); } catch (InterruptedException e) { } for (i=1;i <=4 ;i++){ gtp.send((byte) sende); }
public synchronized void send(byte[] temp, int len) { try { dos.write(temp, 0, len); dos.flush(); } catch(Exception ex) { System.out.println("Error sending data : " + ex.toString()); } }
public synchronized void send(String given) { // WARNING: this routine may not properly convert Strings to bytes int length = given.length(); byte[] retvalue = new byte[length]; char[] c = new char[length]; given.getChars(0, length, c, 0); for (int i = 0; i < length; i++) { retvalue[i] = (byte)c[i]; } send(retvalue); }
public synchronized byte[] receive() { byte[] retval = new byte[0];
det virker heller ikke - men hvis jeg skriver gtp.send((byte[])sende); melder den ikke fejl i koden, men kommer med en fejl, når jeg compiler det. Den skriver at der er en nullpointer exception i netop denne linje kode: gtp.send((byte[])sende);
java.lang.NullPointerException at admin.Adminwindow.update_name(Adminwindow.java:177) at admin.Adminwindow.jbInit(Adminwindow.java:142) at admin.Adminwindow.init(Adminwindow.java:58) at com.borland.jbuilder.runtime.applet.AppletTestbed.startApplet(Unknown Source) at com.borland.jbuilder.runtime.applet.AppletTestbed.main(Unknown Source)
Linje 177 er følgende:
gtp.send( sende);
Det må være min instans gtp af klassen tcpip som der er noget galt med.
Fejlen kommer både når jeg compiler og ved kørsel.
Dette er min funktion hvor fejlen tilsyneladende sker:
void update_name(){ int i; byte[] in; byte[] sende = new byte[4]; boolean get = false; sende[0] = (byte)0x01; sende[1] = (byte)0x01; sende[2] = (byte)0x01; sende[3] = (byte)0xF8;
String name = new String(""); /*gtp.send_escape(); in = gtp.receive(); gtp.send_escape(); gtp.send_enter();*/ try { Thread.currentThread().sleep(200); } catch (InterruptedException e) { } //for (i=0;i <=3 ;i++){ gtp.send( sende); //}
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.