當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。