NAME
TCPStream
SYNOPSIS
.sub main :main
load_bytecode 'library/tcpstream.pir'
.local pmc stream
stream = new 'TCPStream'
stream.'connect'("www.google.com", 80)
stream.'say'("GET / HTTP/1.0")
stream.'say'("User-agent: Parrot")
stream.'say'("")
$S0 = stream.'slurp'()
print $S0
stream.'close'()
.end
DESCRIPTION
This is a high-level sockets library designed to mimic Tcl's socket builtins. As such, it uses print and say instaed of send and readline and slurp instead of recv.
VTABLE FUNCTIONS
init
Iniitialize a TCPStream object (create a socket and a buffer).
init_pmc
Initialize a TCPStream object from an already pre-existing socket. This can be use to create servers, among other things.
get_bool
Returns whether or not this socket has data waiting to be read.
METHODS
void close()
Closes the socket.
void connect(string host, int port)
Connects to a host/port.Throws an exception if unable to connect.
void flush()string readline()
Reads and returns up to (and excluding) an end-of-line character and discards the end-of-line character.
void say(string msg)
Print string slurp()
Return all the data in the socket.
msg and an end-of-line character to the socket.
AUTHOR
Matt Diephouse <matt@diephouse.com>.