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:
-
callback
Functionthe callback function-
err
Null | Error -
messageChunk
Buffer | Null
-
_install_socket
(
protected
-
socket
Parameters:
-
socket
Socket
connect
(
async
-
endpointUrl
-
callback
-
[options]
Parameters:
-
endpointUrl
String -
callback
Functionthe 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_type
Object -
chunk_type
Stringchunk type. should be 'F' 'C' or 'A' -
length
Object
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:
-
callback
Object
write
(
-
message_chunk
write the message_chunk on the socket.
Parameters:
-
message_chunk
BufferNotes: - 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:
-
err
Objectthe 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_chunk
Bufferthe message chunk
socket_closed
notify the observers that the transport layer has been disconnected.
Event Payload:
-
err
Objectthe Error object or null