javasocket server属于已经写好的,期间读到一个参数用了readInt读取
byte[] ex = new byte[5];
in.read(ex);
System.out.println("name:   " + new String(ex).trim());
String a = in.readUTF();
System.out.println("state:   " + a);
//out.writeUTF("setState"); 
//出错位置就是在这里,readInt的时候
int flag = in.readInt();
System.out.println("flag:   " + flag);
在objective-c中已经成功连接socket服务,并写了一个int值过去,前两个值都读到了,就是java这边readInt时老是报错。。name:   NAA
java.io.EOFException
state:   setState
at java.io.DataInputStream.readInt(DataInputStream.java:375)
at com.cps.my.socket.test.SocketManager$SSocket.run(SocketManager.java:55)
at java.lang.Thread.run(Thread.java:680)
obj-c写过来的代码        Byte ex[5];
        ex[0] = 'N';
        ex[1] = 'A';
        ex[2] = 'A';
        ex[3] = (Byte)((1>>8)&0xff);
        ex[4] = (Byte)(1&0xff);
        NSData *data = [self convertToJavaUTF8:@"setState"];
        [out write:ex maxLength:sizeof(ex)];
        [out write:(const uint8_t *)[data bytes] maxLength: [data length]];
        //就是写这段的时候出错了,直接用[out write:1 maxLength:1];来写还是不行,其他方法也试过了
        Byte buff[4];
        int myint = 1;
        buff[0] = (myint >> 24) & 0xFF;
        buff[1] = (myint >> 16) & 0xFF;
        buff[2] = (myint >> 8) & 0xFF;
        buff[3] = myint & 0xFF;
        //NSData *flag = [self convertToJavaInt:0];
        int num = [out write:buff maxLength:1];//请问有没有人知道如何解决~~感谢!