Socket

Creates a TCP/IP connection, or establishes a TCP/IP server.

Methods:

Socket, close, listen, open, poll, read, readln, write, writeln

Objects:

Boolean, Number, String

Property Listing

Property

Type

Access

Description

connected

Boolean

readonly

When true, the connection is active.

encoding

String

read/write

Sets or retrieves the name of the encoding used to transmit data.

Typical values are "ASCII", "BINARY", or "UTF-8".

eof

Boolean

readonly

When true, the receive buffer is empty.

error

String

read/write

A message describing the most recent error. Setting this value clears any error message.

host

String

readonly

The name of the remote computer when a connection is established.

If the connection is shut down or does not exist, the property contains the empty string.

timeout

Number

read/write

The timeout in seconds to be applied to read or write operations.

Method Listing

Constructor

Socket Socket ()

Creates a new Socket object.

Boolean close ()

Terminates the open connection.

Returns true if the connection was closed, false on I/O errors. Deleting the object also closes the connection, but not until JavaScript garbage-collects the object. The connection might stay open longer than you wish if you do not close it explicitly.

Boolean listen (port:Number, [encoding:String=String])

Instructs the object to start listening for an incoming connection.

The call to open() and the call to listen()are mutually exclusive. Call one function or the other, not both.

Parameter

Type

Description

port

Number (range 1 - 65535)

The TCP/IP port number to listen on.

Valid port numbers are 1 to 65535. Typical values are 80 for a Web server, 23 for a Telnet server and so on.

encoding

String

The encoding to be used for the connection

Typical values are "ASCII", "BINARY", or "UTF-8".

(default: ASCII)

Boolean open (host:String, [encoding:String=String])

Opens the connection for subsequent read/write operations.

The call to open() and the call to listen() are mutually exclusive. Call one function or the other, not both.

Parameter

Type

Description

host

String

The server to connect to.

This can be a DNS name, an IPv4 address, or an IPv6 address, followed by a colon and a port number.

encoding

String

The encoding to be used for the connection

Typical values are "ASCII", "binary", or "UTF-8".

(default: ASCII)

Socket poll ()

Checks a listening object for a new incoming connection.

If a connection request was detected, the method returns a new Socket object that wraps the new connection. Use this connection object to communicate with the remote computer. After use, close the connection and delete the JavaScript object. If no new connection request was detected, the method returns null.

String read ([count:Number])

Reads up to the specified number of characters from the connection. CR characters are ignored unless the encoding is set to "BINARY".

Returns a string that contains up to the number of characters that were supposed to be read, or the number of characters read before the connection closed or timed out.

Parameter

Type

Description

count

Number

The number of characters to read.

If not supplied, the connection attempts to read as many characters it can get and returns immediately.

String readln ()

Reads one line of text up to the next line feed.

Line feeds are recognized as LF or CRLF pairs. CR characters are ignored. Returns a string containing the characters.

Boolean write (text:String)

Concatenates all arguments into a single string and writes that string to the connection.

Parameter

Type

Description

text

String

Any number of string values. All arguments are concatenated to form the string to be written. CRLF sequences are converted to LFs unless the encoding is set to "BINARY".

Boolean writeln (text:String)

Concatenates all arguments into a single string, appends a LF character, and writes that string to the connection.

Parameter

Type

Description

text

String

Any number of string values. All arguments are concatenated to form the string to be written. CRLF sequences are converted to LFs unless the encoding is set to "BINARY".

Return

Socket.poll()

Socket.Socket()