open_socket_connectT_open_socket_connectOpenSocketConnectOpenSocketConnectopen_socket_connect (Operator)

Name

open_socket_connectT_open_socket_connectOpenSocketConnectOpenSocketConnectopen_socket_connect — Öffnen einer Socket-Verbindung zu einem bestehenden Socket.

Signatur

open_socket_connect( : : HostName, Port, GenParamName, GenParamValue : Socket)

Herror T_open_socket_connect(const Htuple HostName, const Htuple Port, const Htuple GenParamName, const Htuple GenParamValue, Htuple* Socket)

void OpenSocketConnect(const HTuple& HostName, const HTuple& Port, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Socket)

void HSocket::HSocket(const HString& HostName, Hlong Port, const HTuple& GenParamName, const HTuple& GenParamValue)

void HSocket::HSocket(const HString& HostName, Hlong Port, const HString& GenParamName, const HString& GenParamValue)

void HSocket::HSocket(const char* HostName, Hlong Port, const char* GenParamName, const char* GenParamValue)

void HSocket::HSocket(const wchar_t* HostName, Hlong Port, const wchar_t* GenParamName, const wchar_t* GenParamValue)   (Nur Windows)

void HSocket::OpenSocketConnect(const HString& HostName, Hlong Port, const HTuple& GenParamName, const HTuple& GenParamValue)

void HSocket::OpenSocketConnect(const HString& HostName, Hlong Port, const HString& GenParamName, const HString& GenParamValue)

void HSocket::OpenSocketConnect(const char* HostName, Hlong Port, const char* GenParamName, const char* GenParamValue)

void HSocket::OpenSocketConnect(const wchar_t* HostName, Hlong Port, const wchar_t* GenParamName, const wchar_t* GenParamValue)   (Nur Windows)

static void HOperatorSet.OpenSocketConnect(HTuple hostName, HTuple port, HTuple genParamName, HTuple genParamValue, out HTuple socket)

public HSocket(string hostName, int port, HTuple genParamName, HTuple genParamValue)

public HSocket(string hostName, int port, string genParamName, string genParamValue)

void HSocket.OpenSocketConnect(string hostName, int port, HTuple genParamName, HTuple genParamValue)

void HSocket.OpenSocketConnect(string hostName, int port, string genParamName, string genParamValue)

def open_socket_connect(host_name: str, port: int, gen_param_name: MaybeSequence[str], gen_param_value: MaybeSequence[Union[float, int, str]]) -> HHandle

Beschreibung

open_socket_connectopen_socket_connectOpenSocketConnectOpenSocketConnectOpenSocketConnectopen_socket_connect öffnet eine Socket-Verbindung zu einem akzeptierenden Socket auf dem Rechner mit dem Namen HostNameHostNameHostNameHostNamehostNamehost_name, der auf dem Port PortPortPortPortportport nach Verbindungsanfragen horcht.

Mit dem Parameter 'protocol'"protocol""protocol""protocol""protocol""protocol" kann das verwendete Kommunikationsprotokoll spezifiziert werden. Voreingestellt ist das 'HALCON'"HALCON""HALCON""HALCON""HALCON""HALCON" Protokoll ohne festgelegte Adressfamilie. Somit wird entsprechend den aktuellen Netzwerkeinstellungen des Rechners entweder IPv4 oder IPv6 automatisch verwendet. Um eine bestimmte Adressfamilie auszuwählen, muss eine '4' für IPv4 bzw. eine '6' für IPv6 an den Namen des Protokolls angehängt werden. Z.B. bezeichnet 'HALCON4'"HALCON4""HALCON4""HALCON4""HALCON4""HALCON4" eine HALCON Verbindung über IPv4. Mögliche Werte für eine generische Socketkommunikation sind 'UDP'"UDP""UDP""UDP""UDP""UDP" und 'TCP'"TCP""TCP""TCP""TCP""TCP". Auch hier kann eine '4' oder '6' angehängt werden. Auch die Verwendung von IPv4 (z.B. '127.0.0.1') bzw. IPv6 (z.B. '::1') Adressen für 'HostName' legt die verwendete Adressfamilie fest. Beide Kommunikationspartner müssen dasselbe Protokoll verwenden. Der Datenaustausch über generische Sockets erfolgt ausschließlich mit send_datasend_dataSendDataSendDataSendDatasend_data und receive_datareceive_dataReceiveDataReceiveDataReceiveDatareceive_data.

Mit dem generischen Parameter 'timeout'"timeout""timeout""timeout""timeout""timeout" kann ein Timeout für diesen Socket angegeben werden. Er wird in der Einheit Sekunden oder als Zeichenkette 'infinite'"infinite""infinite""infinite""infinite""infinite" angegeben.

Mit dem generischen Parameter 'tls_enable'"tls_enable""tls_enable""tls_enable""tls_enable""tls_enable" kann die Nutzung der Transport Layer Security (TLS) für den Socket kontrolliert werden. Der Standardwert ist 'false'"false""false""false""false""false". Hat 'tls_enable'"tls_enable""tls_enable""tls_enable""tls_enable""tls_enable" den Wert 'true'"true""true""true""true""true", so wird Transport Layer Security (TLS) zur Verschlüsselung der Socket-Verbindung genutzt. Der akzeptierenden Socket muss zuvor mit open_socket_acceptopen_socket_acceptOpenSocketAcceptOpenSocketAcceptOpenSocketAcceptopen_socket_accept und ebenfalls eingeschaltetem 'tls_enable'"tls_enable""tls_enable""tls_enable""tls_enable""tls_enable" erzeugt worden sein. Mit dem generischen Parameter 'tls_certificate'"tls_certificate""tls_certificate""tls_certificate""tls_certificate""tls_certificate" kann der Pfad zu einem Zertifikat angegeben werden, um die Authentizität des Servers zu überprüfen. Ohne TLS-Zertifikat ist die Verbindung zwar verschlüsselt, die Authentizität des Servers kann allerdings nicht überprüft werden. Das TLS-Zertifikat muss im PEM-Format vorliegen.

Für das 'HALCON'"HALCON""HALCON""HALCON""HALCON""HALCON" Protokoll muss der akzeptierende Socket zuvor in einem anderen HALCON-Prozess mit open_socket_acceptopen_socket_acceptOpenSocketAcceptOpenSocketAcceptOpenSocketAcceptopen_socket_accept erzeugt worden sein. Um eine Verbindung herzustellen, muss der HALCON-Prozess, in dem der akzeptierende Socket läuft, socket_accept_connectsocket_accept_connectSocketAcceptConnectSocketAcceptConnectSocketAcceptConnectsocket_accept_connect aufrufen. Für ein ausführliches Beispiel siehe open_socket_acceptopen_socket_acceptOpenSocketAcceptOpenSocketAcceptOpenSocketAcceptopen_socket_accept.

Bei der Verwendung generischer Sockets kann der Socket, mit dem man sich verbindet, ein beliebiger Socket vom gleichen Protokolltyp sein.

Mit dem generischen Parameter 'string_encoding'"string_encoding""string_encoding""string_encoding""string_encoding""string_encoding" kann die Kodierung für das Senden und Empfangen von Zeichenketten angegeben werden. Die Kodierung wird für send_tuplesend_tupleSendTupleSendTupleSendTuplesend_tuple, receive_tuplereceive_tupleReceiveTupleReceiveTupleReceiveTuplereceive_tuple, send_datasend_dataSendDataSendDataSendDatasend_data und receive_datareceive_dataReceiveDataReceiveDataReceiveDatareceive_data verwendet. Wenn das Kommunikationsprotokoll 'HALCON'"HALCON""HALCON""HALCON""HALCON""HALCON" verwendet wird, hat diese Einstellung nur Auswirkungen auf Verbindungen mit HALCON Versionen vor 18.11. Wenn der Kommunikationspartner eine HALCON Version 18.11 oder neuer verwendet, wird UTF-8 bei der Kodierung von Tupeln verwendet.

Ausführungsinformationen

Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.

Parameter

HostNameHostNameHostNameHostNamehostNamehost_name (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Name des Rechners, zu dem die Verbindung aufgebaut werden soll.

Defaultwert: 'localhost' "localhost" "localhost" "localhost" "localhost" "localhost"

PortPortPortPortportport (input_control)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Nummer des Ports.

Wertevorschläge: 3000, 4570

Typischer Wertebereich: 1024 ≤ Port Port Port Port port port ≤ 65535

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control)  attribute.name(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Namen der generischen Parameter, die für die Socket-Verbindung eingestellt werden sollen.

Defaultwert: []

Werteliste: 'protocol'"protocol""protocol""protocol""protocol""protocol", 'string_encoding'"string_encoding""string_encoding""string_encoding""string_encoding""string_encoding", 'timeout'"timeout""timeout""timeout""timeout""timeout", 'tls_certificate'"tls_certificate""tls_certificate""tls_certificate""tls_certificate""tls_certificate", 'tls_enable'"tls_enable""tls_enable""tls_enable""tls_enable""tls_enable"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (input_control)  attribute.value(-array) HTupleMaybeSequence[Union[float, int, str]]HTupleHtuple (string / real / integer) (string / double / int / long) (HString / double / Hlong) (char* / double / Hlong)

Werte der generischen Parameter, die für die Socket-Verbindung eingestellt werden sollen.

Defaultwert: []

Wertevorschläge: 0, 3.0, 'infinite'"infinite""infinite""infinite""infinite""infinite", 'HALCON'"HALCON""HALCON""HALCON""HALCON""HALCON", 'UDP'"UDP""UDP""UDP""UDP""UDP", 'TCP'"TCP""TCP""TCP""TCP""TCP", 'HALCON4'"HALCON4""HALCON4""HALCON4""HALCON4""HALCON4", 'UDP4'"UDP4""UDP4""UDP4""UDP4""UDP4", 'TCP4'"TCP4""TCP4""TCP4""TCP4""TCP4", 'HALCON6'"HALCON6""HALCON6""HALCON6""HALCON6""HALCON6", 'UDP6'"UDP6""UDP6""UDP6""UDP6""UDP6", 'TCP6'"TCP6""TCP6""TCP6""TCP6""TCP6", 'utf8'"utf8""utf8""utf8""utf8""utf8", 'locale'"locale""locale""locale""locale""locale", 'ignore'"ignore""ignore""ignore""ignore""ignore", 'true'"true""true""true""true""true", 'false'"false""false""false""false""false"

SocketSocketSocketSocketsocketsocket (output_control)  socket HSocket, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Nummer des Sockets.

Nachfolger

send_imagesend_imageSendImageSendImageSendImagesend_image, receive_imagereceive_imageReceiveImageReceiveImageReceiveImagereceive_image, send_regionsend_regionSendRegionSendRegionSendRegionsend_region, receive_regionreceive_regionReceiveRegionReceiveRegionReceiveRegionreceive_region, send_tuplesend_tupleSendTupleSendTupleSendTuplesend_tuple, receive_tuplereceive_tupleReceiveTupleReceiveTupleReceiveTuplereceive_tuple, send_datasend_dataSendDataSendDataSendDatasend_data, receive_datareceive_dataReceiveDataReceiveDataReceiveDatareceive_data

Siehe auch

open_socket_acceptopen_socket_acceptOpenSocketAcceptOpenSocketAcceptOpenSocketAcceptopen_socket_accept, socket_accept_connectsocket_accept_connectSocketAcceptConnectSocketAcceptConnectSocketAcceptConnectsocket_accept_connect, get_socket_paramget_socket_paramGetSocketParamGetSocketParamGetSocketParamget_socket_param, set_socket_paramset_socket_paramSetSocketParamSetSocketParamSetSocketParamset_socket_param, close_socketclose_socketCloseSocketCloseSocketCloseSocketclose_socket

Modul

Foundation