FAQ
 
 
Cover  \ Exhibition  \ Learning  \ Reference  \ Download  \ Discourse   
      Language \ Environment \ Libraries \ Comparison
 
   
   
Back  
   
  Reference for Processing (BETA) version 91+. If you have a previous version, use the reference included with your software. If you see any errors or have any comments, let us know.  
Class   Client
   
Name  

readBytesUntil()

   
Examples  
// Example by Tom Igoe 
 
// 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); 
  } 
} 
 

Description   Reads from the port into a buffer of bytes up to and including a particular character. If the character isn't in the buffer, 'null' is returned. The version with no byteBuffer parameter returns a byte array of all data up to and including the interesting byte. This is not efficient, but is easy to use. The version with the byteBuffer parameter is more memory and time efficient. It grabs the data in the buffer and puts it into the byte array passed in and returns an int value for the number of bytes read. If the byte buffer is not large enough, -1 is returned and an error is printed to the message area. If nothing is in the buffer, 0 is returned.
   
Syntax  
client.readBytesUntil(interesting)
client.readBytesUntil(interesting, byteBuffer)
   
Parameters  
client   any variable of type Client

interesting   byte: character designated to mark the end of the data

byteBuffer   byte[]: passed in byte array to be altered

   
Returns   byte[] or int
   
Usage   Web & Application
   
 
 






   
 
Updated: Fri Jul 15 16:41:09 PDT 2005
 
 








Creative Commons License
 
  Processing is an open project initiated by Ben Fry and Casey Reas  
  © Info  
ource.org/cc/Notice" /> -->     Processing is an open project initiated by Ben Fry and Casey Reas     © Info   native file format.