| Table of Contents / System / Sockets | Operators |
open_socket_accept — Open a socket that accepts connection requests.
open_socket_accept( : : Port, GenParamName, GenParamValue : AcceptingSocket)
open_socket_accept opens a socket that will accept incoming connection requests. This operator is the necessary first step in the establishment of a communication channel between two HALCON processes. The socket listens for incoming connection requests on the port number given by Port.
The generic parameter 'protocol' may be used to specify also a generic protocol. Possible values for generic socket communication are 'UDP' and 'TCP'. The default is the 'HALCON' protocol. To exchange data using generic sockets only send_data and receive_data are available. To explicitly specify IPv4 or IPv6 connections you can append a '4' or '6' to the protocol, e.g., 'UDP6' means a generic UDP connection using IPv6.
The generic parameter 'timeout' can be used to set a timeout for this socket. The timeout is given in seconds or as the string 'infinite'. It is used especially as timeout and waiting mode in a following socket_accept_connect call with the parameter Wait set to 'auto'.
The accepting socket is returned in AcceptingSocket. open_socket_accept returns immediately without waiting for a request from another process, which must be initiated by calling open_socket_connect. This allows multiple other processes to connect to the particular HALCON process that calls open_socket_accept. To accept an incoming 'HALCON' or 'TCP' connection request, socket_accept_connect must be called to obtain a socket for the final communication.
Port number.
Default value: 3000
Suggested values: 3000, 4570
Typical range of values: 1024 ≤ Port ≤ 65535
Minimum increment: 1
Recommended increment: 1
Names of the generic parameters that can be adjusted for the socket.
Default value: []
List of values: 'timeout', 'protocol'
Values of the generic parameters that can be adjusted for the socket.
Default value: []
Suggested values: 0, 3.0, 'infinite', 'HALCON', 'UDP', 'TCP', 'HALCON4', 'UDP4', 'TCP4', 'HALCON6', 'UDP6', 'TCP6'
Socket number.
* Process 1
dev_set_colored (12)
open_socket_accept (3000, [], [], AcceptingSocket)
* Busy wait for an incoming connection
dev_error_var (Error, 1)
dev_set_check ('~give_error')
OpenStatus := 5
while (OpenStatus # 2)
socket_accept_connect (AcceptingSocket, 'false', Socket)
OpenStatus := Error
wait_seconds (0.2)
endwhile
dev_set_check ('give_error')
* Connection established
receive_image (Image, Socket)
threshold (Image, Region, 0, 63)
send_region (Region, Socket)
receive_region (ConnectedRegions, Socket)
area_center (ConnectedRegions, Area, Row, Column)
send_tuple (Socket, Area)
send_tuple (Socket, Row)
send_tuple (Socket, Column)
close_socket (Socket)
close_socket (AcceptingSocket)
* Process 2
dev_set_colored (12)
open_socket_connect ('localhost', 3000, [], [], Socket)
read_image (Image, 'fabrik')
send_image (Image, Socket)
receive_region (Region, Socket)
connection (Region, ConnectedRegions)
send_region (ConnectedRegions, Socket)
receive_tuple (Socket, Area)
receive_tuple (Socket, Row)
receive_tuple (Socket, Column)
close_socket (Socket)
open_socket_connect, close_socket, get_socket_param, set_socket_param, send_image, receive_image, send_region, receive_region, send_tuple, receive_tuple, send_data, receive_data
Foundation
| Table of Contents / System / Sockets | Operators |
| HALCON Reference Manual 10.0.2 | Copyright © 1996-2011 MVTec Software GmbH |