Structures
WSConnectionManager_typ
Name | Type | Description |
---|---|---|
in | WSConnectionManager_In_typ | Inputs for connection manager |
out | WSConnectionManager_Out_typ | Outputs for connection manager |
internal | WSConnectionManager_Internal_typ | Internal variables |
WSConnectionManager.in
Name | Type | Description |
---|---|---|
cmd | WSConnectionManager_In_Cmd_typ | Commands for connection manager |
cfg | WSConnectionManager_In_Cfg_typ | Configuration for connection manager |
WSConnectionManager.in.cmd
Name | Type | Description |
---|---|---|
enable | BOOL | Enable connection manager |
acknowledgeConnection | BOOL | Acknowledge new connection |
acknowledgeError | BOOL | Acknowledge error |
WSConnectionManager.in.cfg
Changes to cfg structure while socket is open causes socket to close and reopen.
Name | Type | Description |
---|---|---|
mode | WS_Mode_enum | Connection mode |
localIPAddress | STRING | Local interface to open socket on. Default local IP can be determined automatically |
localPort | UDINT | Local port to open socket on. Default local port can be determined automatically |
remoteIPAddress | STRING | Remote interface to connect to. For Clients only |
remotePort | UDINT | Remote port to connect to. For Clients only |
sendBufferSize | UDINT | Adjusts the max. size of the transmit buffer. The default size should only be modified in certain applications, e.g. to optimize performance. The size should be a multiple of the MSS! |
useSSL | BOOL | Use SSL encryption. Required for HTTPS connections |
sslCertificate | UDINT | SSL Ident, refer to ArSslOpen (0 = default SSL configuration) |
WSConnectionManager.out
Name | Type | Description |
---|---|---|
newConnectionAvailable | BOOL | Commands for connection manager |
connection | WSConnectionManager_Desc_typ | Configuration for connection manager |
error | BOOL | Error present |
errorID | UINT | Error ID |
errorString | STRING | Error description |
WSConnectionManager_Desc_typ
Description
Name | Type | Description |
---|---|---|
parameters | TCPConnection_Desc_typ | TCP connection parameters |
mode | WS_Mode_enum | WebSocket connection mode |
WSStream_typ
Description
Name | Type | Description |
---|---|---|
in | WSStream_IN_typ | Inputs for WebSocket stream |
out | WSStream_Out_typ | Outputs for WebSocket stream |
internal | WSStream_Internal_typ | Internal variables |
WSStream.in
Name | Type | Description |
---|---|---|
cmd | WSStream_In_Cmd_typ | Commands for WebSocket stream |
par | WSStream_In_Par_typ | Parameters for WebSocket stream |
cfg | WSStream_In_Cfg_typ | Configuration for WebSocket stream |
WSStream.in.cmd
Name | Type | Description |
---|---|---|
receive | BOOL | Receive new messages. Level sensitive |
send | BOOL | Send message |
close | BOOL | Close current open connection |
acknowledgeData | BOOL | Acknowledge received data. Only used when allowContinuousReceive is not used |
acknowledgeError | BOOL | Acknowledge error |
WSStream.in.par
Name | Type | Description |
---|---|---|
connection | WSConnectionManager_Desc_typ | Connection information |
pReceiveData | UDINT | Pointer to buffer to be populated with received payload |
maxReceiveLength | UDINT | Length of pReceiveData (sizeof()-1) |
receiveFlags | UINT | TCP receive flags |
allowContinuousReceive | BOOL | A new message will be received regardless if last message was acknowledged |
pSendData | UDINT | Pointer to buffer populated with send payload to send |
sendLength | UDINT | Length of payload to send |
sendHeader | WSHeader_typ | WebSocket header to send. Not currently supported |
sendFlags | UINT | TCP receive flags |
allowContinuousSend | BOOL | Changes send from edge sensitive to a level sensitive command. Allows sending every cycle |
WSStream.in.cfg
Name | Type | Description |
---|---|---|
bufferSize | UDINT | Size of internal buffer used for sending and receiving messages. Can not be changed after initialization |
WSStream.out
Name | Type | Description |
---|---|---|
connection | WSConnectionManager_Desc_typ | Current active connection information |
active | BOOL | Socket is open |
connected | BOOL | WebSocket connection is established |
receiving | BOOL | Receiving messages |
header | WSHeader_typ | Received WebSocket header |
partialDataReceived | BOOL | Partial data received. Header may be populated. Call again to get rest of message |
dataReceived | BOOL | New message received |
receivedDataLength | UDINT | Received payload length. Data copied into [pReceivedData] |
sending | BOOL | Data is being sent |
dataSent | BOOL | Data sent |
sentDataLength | UDINT | Sent payload length |
error | BOOL | Error present |
errorID | UINT | Error ID |
errorString | STRING | Error description |
WSHeader_typ
Name | Type | Description |
---|---|---|
fin | BOOL | Last message in sequence |
rsv | USINT | Reserved space. Can be used with some OpCodes |
opCode | USINT | Message operation code |
mask | BOOL | Mask message |
maskingKey | USINT[4] | Masking key for encrypting message |
frameLength | UDINT | Length of payload |
WS_Mode_enum
Name | Value | Description |
---|---|---|
WS_MODE_SERVER | 50000 | WebSocket server mode |
WS_MODE_CLIENT | 50001 | WebSocket client mode |
WS_ERR_enum
Name | Value | Description |
---|---|---|
WS_ERR_OK | 0 | No Error |
WS_ERR_INVALID_INPUT | 5500 | Invalid Input to FUB |
WS_ERR_NOT_IMPLEMENTED | 5501 | Feature not yet implemented |
WS_ERR_PAYLOAD_LENGTH | 5502 | Invalid payload length |
WS_ERR_MEM_ALLOC | 5503 | Error allocating memory for buffers. Check BufferSize |
WS_ERR_NO_LICENSE | 5504 | No license located on TG |
WS_ERR_KEY_NOT_FOUND | 5505 | WebSocket key not found. Invalid update request |
WS_ERR_PARTIAL_HTTP_MESSAGE | 5506 | Partial HTTP message received |
WS_ERR_INVALID_HTTP_MESSAGE | 5507 | Invalid HTTP message received |
WS_ERR_BUFFER_FULL | 5508 | Buffer full |
WS_OpCode_enum
Name | Value |
---|---|
WS_OPCODE_CONTINUATION | 0 |
WS_OPCODE_TEXT | 1 |
WS_OPCODE_BINARY | 2 |
WS_OPCODE_RESERVED_NON_CONTROL | 3 |
WS_OPCODE_CONNECTION_CLOSE | 8 |
WS_OPCODE_PING | 9 |
WS_OPCODE_PONG | 10 |
WS_OPCODE_RESERVED_CONTROL | 11 |