栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何将字节写入服务器套接字

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何将字节写入服务器套接字

根据规范,您必须按照以下方式构建形状的数据包

| 2 | 2 | N ........ |

现在,这可能非常容易,并且有多种方法可以实现,我建议您使用以下一种方法:

import java.nio.ByteBuffer;import java.nio.ByteOrder;static byte[] buildPacket(int magicNumber, String payload) throws UnsupportedEncodingException{  // 4 bytes for header + payload  ByteBuffer buffer = ByteBuffer.allocate(2 + 2 + payload.length());  // we set that we want big endian numbers  buffer.order(ByteOrder.BIG_ENDIAN);  buffer.putShort((short)magicNumber);  buffer.putShort((short)payload.length());  buffer.put(payload.getBytes("US-ASCII"));  return buffer.array();}public static void main (String[] args) throws java.lang.Exception{    try    {        byte[] bytes = buildPacket(0xFF10, "foobar");        for (byte b : bytes)          System.out.printf("0x%02X ", b);    }    catch (Exception e)    {        e.printStackTrace();    }}

请注意,如果您声明

short
直接接受幻数的方法,则将无法传递文字幻数,
> 32767
因为它
short
是在Java中签名的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/402038.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号