当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Processing Client.readBytesUntil()用法及代码示例


Processing, 类Client中的readBytesUntil()用法介绍。

用法

  • client.readBytesUntil(interesting)
  • client.readBytesUntil(interesting, byteBuffer)

参数

  • client (Client) 客户端类型的任何变量
  • interesting (int) 指定用于标记数据结束的字符
  • byteBuffer (byte[]) 传入要更改的字节数组

返回

  • byte[] or int

说明

从端口读取到字节缓冲区,最多包含特定字符。如果字符不在缓冲区中,则返回'null'。没有byteBuffer 参数的版本返回一个字节数组,其中包含直到并包括interesting 字节的所有数据。这效率不高,但易于使用。带有byteBuffer 参数的版本更节省内存和时间。它抓取缓冲区中的数据并将其放入传入的字节数组中,并为读取的字节数返回一个int 值。如果字节缓冲区不够大,则返回 -1 并将错误打印到消息区域。如果缓冲区中没有任何内容,则返回 0。

例子

// Creates a client that listens for input
// until it gets a linefeed character, and puts 
// the bytes it gets into a byte[] buffer.

import processing.net.*; 
Client myClient; 
byte[] byteBuffer = new byte[12];
byte interesting = 10;

void setup() { 
  size (300, 100);
  // Connect to the local machine at port 10002.
  // This example will not run if you haven't
  // previously started a server on this port.
  myClient = new Client(this, "127.0.0.1", 10002); 
} 

void draw() { 
  if (myClient.available() > 0) { 
    background(0);
    // Read until we get a linefeed
    int byteCount = myClient.readBytesUntil(interesting, byteBuffer); 
    // Convert the byte array to a String
    String myString = new String(byteBuffer);
    // Display the string
    println(myString); 
  } 
} 

相关用法


注:本文由纯净天空筛选整理自processing.org大神的英文原创作品 Client.readBytesUntil()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。