请教 关于Socket编程 在Server端可以用 is.read(length) 方法得到一个byte[]形式从Client发送过来的信息,Client端发送过来的是个协议信息,包括报文长度len(类型 short 长度 2),命令字cmdType(类型 byte 长度 1)。请问怎样从客户端过来的byte[]中解析出这些信息。或者有没有其他更好的办法。谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看了老半天,没看懂。。你的意思是服务器读到客户端的数据是byte[]型的,怎么样解析出来吗?如果是这样的话,直接用String按编码转一下就行了吧。。如果是传字符串的话。你可以用BufferedReader来读,它可以直接读出字符串 是的这个意思,但是这个byte[]包含 short,int等类型的数据,怎样用String按编码转?这个byte[]中 比如第一个需要拿到 报文长度len(short类型 2长度)老兄按你的意思怎么才能达到 这个short型的 len谢谢!感激不尽 可以用NIO包的ByteBuffer类ByteBuffer buf = ByteBuffer.wrap(array);用上面建立buffer,然后就根椐报文格式依次读出想要用数据就可以了,读了一次后,ByteBuffer会记录下位置,再叫下一个方法后,会继续读。同时,记录的位置也是可以改变的:buf.getChar();buf.getDouble();buf.getFloat();buf.getInt();buf.getLong();等等据体的查一下API就OK了 short18位2个字节,不要考虑这些问题么, 比如我的实际需求第一个读取的是报文长度len (short类型长度2) 直接 写 short len = buf.getShort()就可以了么,另外如果需要从中读取一个未知大小的byte[](短信长度)数组该如何操作?谢谢 重载解析、动态绑定、可协变返回类型的研究 如何深刻理解递归?? io流问题 关于xml的简单问题???????????? 关于用java写游戏动画的疑问 求助:java网络机器人编程 关于编码 utf-8 的问题,看了这么多帖子也没解决! jsp and bean??? java ant 地问题 关于java的字符的小问题,java中有没有char这种类型?它和Character类的关系? '\r'和‘\n'的区别是什么 JAVA Socket 编程怎么得到 C#程序过来的信息 SQL 语句的问题
是的这个意思,但是这个byte[]包含 short,int等类型的数据,怎样用String按编码转?
这个byte[]中 比如第一个需要拿到 报文长度len(short类型 2长度)
老兄按你的意思怎么才能达到 这个short型的 len
谢谢!感激不尽
ByteBuffer buf = ByteBuffer.wrap(array);
用上面建立buffer,
然后就根椐报文格式依次读出想要用数据就可以了,读了一次后,ByteBuffer会记录下位置,再叫下一个方法后,会继续读。同时,记录的位置也是可以改变的:buf.getChar();
buf.getDouble();
buf.getFloat();
buf.getInt();
buf.getLong();
等等据体的查一下API就OK了
short18位2个字节,不要考虑这些问题么, 比如我的实际需求第一个读取的是报文长度len (short类型长度2) 直接 写 short len = buf.getShort()就可以了么,另外如果需要从中读取一个未知大小的byte[](短信长度)数组该如何操作?谢谢