GetSocketObject (Socket function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
mNo edit summary
Line 11: Line 11:
===Syntax terms===
===Syntax terms===
<table class="syntaxTable">
<table class="syntaxTable">
<tr><th>%so</th>
<tr><th>%socket</th>
<td>A declared socket object or a reference to a <var>Socket</var> object.
<td>A declared socket object or a reference to a <var>Socket</var> object.
</td></tr>
</td></tr>
Line 17: Line 17:
<td>The class name in parentheses denotes a shared method. Specifying <code>%(Socket):</code> is not the only way to invoke the method (see [[??]] refid=themeth.).
<td>The class name in parentheses denotes a shared method. Specifying <code>%(Socket):</code> is not the only way to invoke the method (see [[??]] refid=themeth.).
</td></tr>
</td></tr>
<tr><th>socketnum</th>
<tr><th>number</th>
<td>The number of a socket that was created with <var>[[$Sock_Conn]]</var>.
<td>The number of a socket that was created with <var>[[$Sock_Conn]]</var>.



Revision as of 01:42, 15 November 2011

Get a socket object for the given socket number (Socket class)


This shared method returns a Socket object for a given socket number. It returns a reference to an instance of a Socket object, which can then be used with instance method calls.

Syntax

%socket = [%(Socket):]GetSocketObject( number)

Syntax terms

%socket A declared socket object or a reference to a Socket object.
%(Socket) The class name in parentheses denotes a shared method. Specifying %(Socket): is not the only way to invoke the method (see ?? refid=themeth.).
number The number of a socket that was created with $Sock_Conn.

Usage notes

  • GetSocketObject is designed for adding Socket object code to an existing $Sock_xxx application, that is, for instantiating a socket from a socket number returned from $Sock_Conn. If you are building an entirely object-oriented socket application, use the New constructor.
  • After GetSocketObject returns, the socket is no longer accessible by its socket number. To access the socket by its number again, use GetSocketNumber.
  • If the object returned by a GetSocketObject invocation is the method object for a subsequent GetSocketNumber invocation, the NOCLOSE setting of the original numbered socket is applied to the numbered socket returned by GetSocketNumber. For information about NOCLOSE, see Set.

Example

In the following example,a socket created with $Sock_Conn is converted to a Socket object.

JANUS DEFINE PIPE * CLSOCK 8 REMOTE * * SOCKPMAX 10 JANUS START PIPE Begin %nums Is String Len 16 %sockhrb object Socket %CONN is float %CONN = $SOCK_CONN('PIPE', 'www.whrb.org', 80) %nums = %(Socket):Num('OPEN') %sockhrb = %(Socket):GetSocketObject(%nums) Print 'The %sockhrb status is: ' %sockhrb:Info('STAT') End

The example result is:

The %sockhrb status is: CONN