zoukankan      html  css  js  c++  java
  • socket--tcp传输

    socket基本数据类型,不是java的,string在java不是基本数据类型

    string 一个中文 =byte[3]

    用bytebuffer封装byte[]

    ByteBuffer包含几个基本的属性:

    • position:当前的下标位置,表示进行下一个读写操作时的起始位置;从0开始的。
    • limit:结束标记下标,表示进行下一个读写操作时的(最大)结束位置;
    • capacity:该ByteBuffer容量;

    每次调用position方法,就会返回当前下标的位置

    可以手动通过put(byte b)put(byte[] b)方法向ByteBuffer中添加一个字节或一个字节数组。ByteBuffer也方便地提供了几种写入基本类型的put方法:putChar(char val)putShort(short val)putInt(int val)putFloat(float val)putLong(long val)putDouble(double val)。执行这些写入方法之后,就会以当前的position位置作为起始位置,写入对应长度的数据,并在写入完毕之后将position向后移动对应的长度。下图就表示了分别向ByteBuffer中写入1个字节的byte数据和4个字节的Integer数据的结果:

    BufferByte的put方法

    get(byte[] dst, int offset, int length):表示尝试从 position 开始读取 length 长度的数据拷贝到 dst 目标数组 offset 到 offset + length 位置

    get(byte[] dst):尝试读取 dst 目标数组长度的数据,拷贝至目标数组

  • 相关阅读:
    IPC之——消息队列
    特殊命令
    面试概念集锦
    守护进程(精灵进程)
    IP SSL HTTPS
    钉钉监控样例
    中间人攻击
    iptables firewalld
    简单暴力高效率的OSM全球地图
    解决ubuntu使用命令sudo apt -get install 安装东西时出现"E: Sub-process /usr/bin/dpkg returned an error code (1) "的错误 问题描述:
  • 原文地址:https://www.cnblogs.com/fpcbk/p/13745049.html
Copyright © 2011-2022 走看看