ClientTCP_transport Class
Extends TCP_transport
Module: opcua.transport
a ClientTCP_transport connects to a remote server socket and initiates a communication with a HEL/ACK transaction. It negociates the communication parameters with the other end.
Constructor
ClientTCP_transport
()
Example:
var transport = ClientTCP_transport(url);
transport.timeout = 1000;
transport.connect(function(err)) {
if (err) {
// cannot connect
} else {
// connected
}
});
....
transport.write(message_chunk,'F');
....
transport.on("message",function(message_chunk) {
// do something with message from server...
});
Item Index
Methods
- _install_one_time_message_receiver install a one time message receiver callback Rules: * TCP_transport will not emit the ```message``` event, while the "one time message receiver" is in operation. * the TCP_transport will wait for the next complete message chunk and call the provided callback func ```callback(null,messageChunk);``` * if a messageChunk is not received within ```TCP_transport.timeout``` or if the underlying socket reports an error, the callback function will be called with an Error.
- _install_socket
- connect
- createChunk
- disconnect
- write
Properties
Methods
_install_one_time_message_receiver
install a one time message receiver callback
Rules:
* TCP_transport will not emit the ```message``` event, while the "one time message receiver" is in operation.
* the TCP_transport will wait for the next complete message chunk and call the provided callback func
```callback(null,messageChunk);```
* if a messageChunk is not received within ```TCP_transport.timeout``` or if the underlying socket reports an error,
the callback function will be called with an Error.
(
protected
-
callback
Parameters:
-
callbackFunctionthe callback function-
errNull | Error -
messageChunkBuffer | Null
-
_install_socket
(
protected
-
socket
Parameters:
-
socketSocket
connect
(
async
-
endpointUrl -
callback -
[options]
Parameters:
-
endpointUrlString -
callbackFunctionthe callback function
-
[options]Object optional
createChunk
(
Buffer
-
msg_type -
chunk_type -
length
`createChunk` is used to construct a pre-allocated chunk to store up to `length` bytes of data.
The created chunk includes a prepended header for `chunk_type` of size `self.headerSize`.
Parameters:
-
msg_typeObject -
chunk_typeStringchunk type. should be 'F' 'C' or 'A' -
lengthObject
Returns:
Buffer:
a buffer object with the required length representing the chunk.
Note:
- only one chunk can be created at a time.
- a created chunk should be committed using the
`write` method before an other one is created.
disconnect
(
async
-
callback
disconnect the TCP layer and close the underlying socket.
The
`"close"` event will be emitted to the observers with err=null.
Parameters:
-
callbackObject
write
(
-
message_chunk
write the message_chunk on the socket.
Parameters:
-
message_chunkBufferNotes: - the message chunk must have been created by`createChunk`. - once a message chunk has been written, it is possible to call`createChunk`again.
Properties
[timeout=30000]
Number
timeout
chunkReadCount
Number
chunkWrittenCount
Number
headerSize the size of the header in bytes
Number
Default: 8
protocolVersion indicates the version number of the OPCUA protocol used
Number
Default: 0
Events
close
notify the observers that the transport layer has been disconnected.
Event Payload:
-
errObjectthe Error object or null
connect
notify the observers that the transport is connected (the socket is connected and the the HEL/ACK transaction has been done)
connection_break
message
notify the observers that a message chunk has been received
Event Payload:
-
message_chunkBufferthe message chunk
socket_closed
notify the observers that the transport layer has been disconnected.
Event Payload:
-
errObjectthe Error object or null
The NodeOPCUA API