ReceiveWebSocket (Socket function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
Line 39: Line 39:


==Examples==
==Examples==
The following example receives a text message from a WebSocket client.
<p class="code">...
                                                         
%sock = WebSocket                                                             
if %sock is null then                                                         
  audittext Socket closed, status is {$STATUSD}                             
  stop                                                                       
end if 
                                                                     
%op = %sock:ReceiveWebSocket(%wsi)                                           
if %op eq 1 then                                                             
  setText %wso  = Received your text message of {%wsi:length} bytes.         
  %sock:SendWebSocket(%wso, %op, true)                                       
end if                                                                                   
...
</p>
==See also==
==See also==
{{Template:Socket:ReceiveWebSocket footer}}
{{Template:Socket:ReceiveWebSocket footer}}

Revision as of 16:24, 19 August 2019

Receive Web Socket framed message (Socket class)

[Introduced in Model 204 7.8 βeta]


This page is under construction.

Syntax

%opCode = socket:ReceiveWebSocket( string)

Syntax terms

%opCode op code is a number indicating the type of web socket frame received. Numbers 0-7 are non-control frames. Numbers 8-15 are control frames.
0 A continuation frame. A continuation frame is treated as text or binary based on the op code of the first frame.
1 A text frame. Text frames are are translated to EBCDIC with the translate table in effect for the port.
2 A binary frame. No translation is done for binary frames.
3-7 Reserved for future use.
8 Connection close frame. A close frame should be sent in response.
9 Ping. The receiver should respond with a Pong frame, unless a close frame has been received.
10 Pong. This is sent as a response to a Ping frame.
11-15 Reserved for future use.
128 This value is added to the frame op code to indicate the final fragment of a non-control message. The first fragment may also be the final fragment.
socket Socket object
string string

Usage notes

Received data may be masked by the sender. Masked data is always unmasked using the sender's masking key before it is returned to the application.

Examples

The following example receives a text message from a WebSocket client.

... %sock = WebSocket if %sock is null then audittext Socket closed, status is {$STATUSD} stop end if %op = %sock:ReceiveWebSocket(%wsi) if %op eq 1 then setText %wso = Received your text message of {%wsi:length} bytes. %sock:SendWebSocket(%wso, %op, true) end if ...

See also