ServerSocket (Socket function): Difference between revisions
m (→Example) |
mNo edit summary |
||
Line 2: | Line 2: | ||
This [[Notation conventions for methods#Shared members|shared]] method obtains a reference to a | This [[Notation conventions for methods#Shared members|shared]] method obtains a reference to a | ||
<var>Socket</var> object for the server socket (socket number 1 in the | <var>Socket</var> object for the server socket (socket number 1 in the [[Janus Sockets $functions|$Sock_xxx API]], | ||
as described in [[Janus Sockets User Language coding considerations#Client versus Server Socket programming|"Client versus Server Socket programming"]]. | as described in [[Janus Sockets User Language coding considerations#Client versus Server Socket programming|"Client versus Server Socket programming"]]. | ||
It returns a reference to a <var>Socket</var> object instance, which can then be | It returns a reference to a <var>Socket</var> object instance, which can then be |
Revision as of 19:10, 11 June 2012
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.
Examples
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') ...