ServerSocket (Socket function)

From m204wiki
Revision as of 01:11, 22 November 2011 by JAL2 (talk | contribs) (→‎Syntax terms)
Jump to navigation Jump to search

Get a reference to the server socket (Socket class)


This shared method obtains a reference to a Socket object for the server socket (socket number 1 in the $Sock_xxx API, as described in "Client versus Server Socket programming". It returns a reference to a Socket object instance, which can then be used with instance method calls to access the server socket. ServerSocket has no equivalent $function.

ServerSocket syntax

%socket = [%(Socket):]ServerSocket

Syntax terms

%socket A declared socket object or a reference to a Socket object.
%(Socket) The class name in parentheses denotes a shared method. ServerSocket can also be invoked via a Socket object variable, which may be Null.

Usage notes

  • After ServerSocket returns, the socket is no longer accessible by its socket number (1). To access the socket by its number again, use GetSocketNumber.
  • ServerSocket can be used to obtain a Socket object reference for a socket already created by $Sock_Conn, or it can operate in an entirely object-oriented application.

Example

In the following code fragment, a server socket receives data and replies to its client.

Begin %r Float %sepx Float %data is String len 255 %servsock is Object Socket %servsock = %(Socket):ServerSocket %r = %servsock:Set('PRSTOK', 'AMBIG|0D0A|0D|0A|07') %r = %servsock:Set('LINEND', '07') %r = %servsock:ReceiveAndParse(%data) If %r le 0 Then ... If %data eq 'Hello' Then ... %r = %servsock:SendWithLineEnd('OK') ...