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_connectOpenSocketConnectOpenSocketConnectopen_socket_connect öffnet eine Socket-Verbindung zu einem akzeptierenden Socket auf dem Rechner mit dem Namen HostNameHostNameHostNamehostNamehost_name, der auf dem Port PortPortPortportport nach Verbindungsanfragen horcht.

Die folgenden Parameter können für GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name gesetzt werden.

'protocol'"protocol""protocol""protocol""protocol":

Spezifiziert das verwendete Kommunikationsprotokoll. Das 'HALCON'"HALCON""HALCON""HALCON""HALCON" Protokoll ohne festgelegte Adressfamilie verwendet entsprechend den aktuellen Netzwerkeinstellungen des Rechners entweder IPv4 oder IPv6 automatisch. 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" eine HALCON Verbindung über IPv4. Mögliche Werte für eine generische Socketkommunikation sind 'UDP'"UDP""UDP""UDP""UDP" und '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'"127.0.0.1""127.0.0.1""127.0.0.1""127.0.0.1") bzw. IPv6 (z.B. '::1'"::1""::1""::1""::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_dataSendDataSendDatasend_data und receive_datareceive_dataReceiveDataReceiveDatareceive_data.

Default: 'HALCON'"HALCON""HALCON""HALCON""HALCON"

'timeout'"timeout""timeout""timeout""timeout":

Setzt ein Timeout für diesen Socket. Er wird in der Einheit Sekunden oder als Zeichenkette 'infinite'"infinite""infinite""infinite""infinite" angegeben.

'tls_enable'"tls_enable""tls_enable""tls_enable""tls_enable":

Kontrolliert die Nutzung der Transport Layer Security (TLS) für die neue Socket-Verbindung. Hat 'tls_enable'"tls_enable""tls_enable""tls_enable""tls_enable" den Wert 'true'"true""true""true""true", so wird der Aufbau einer TLS-abgesicherten Verbindung unternommen. Die Serverseite muss in diesem Fall ebenfalls TLS unterstützen. Das Zertifikat, anhand dessen die Authentizität des Servers überprüft werden kann, wird optional mit dem generischen Parameter 'tls_certificate'"tls_certificate""tls_certificate""tls_certificate""tls_certificate" angegeben. Ohne TLS-Zertifikat ist die Verbindung zwar verschlüsselt, die Authentizität des Servers kann allerdings nicht überprüft werden.

Default: 'false'"false""false""false""false"

'tls_certificate'"tls_certificate""tls_certificate""tls_certificate""tls_certificate":

Gibt den Pfad des Zertifikats an, mit dem die Authentizität des Servers einer TLS-Verbindung überprüft werden kann. Das TLS-Zertifikat muss im PEM-Format vorliegen. Dieser Parameter wird ignoriert, wenn 'tls_enable'"tls_enable""tls_enable""tls_enable""tls_enable" nicht auf 'true'"true""true""true""true" gesetzt ist.

'tsl_sni'"tsl_sni""tsl_sni""tsl_sni""tsl_sni":

Setzt die „Server Name Indication“, die für die TLS-Verbindung verwendet werden soll. Dies teilt dem Server mit, für welche Domain das Zertifikat gültig sein soll. Dies ist wichtig, wenn ein Server mehrere Domains hostet. Dieser Parameter wird ignoriert, wenn 'tls_enable'"tls_enable""tls_enable""tls_enable""tls_enable" nicht auf 'true'"true""true""true""true" gesetzt ist.

'string_encoding'"string_encoding""string_encoding""string_encoding""string_encoding":

Setzt die Kodierung für das Senden und Empfangen von Zeichenketten. Die Kodierung wird für send_tuplesend_tupleSendTupleSendTuplesend_tuple, receive_tuplereceive_tupleReceiveTupleReceiveTuplereceive_tuple, send_datasend_dataSendDataSendDatasend_data und receive_datareceive_dataReceiveDataReceiveDatareceive_data verwendet. Wenn das Kommunikationsprotokoll '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.

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

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

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

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

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

Default: 'localhost' "localhost" "localhost" "localhost" "localhost"

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

Nummer des Ports.

Wertevorschläge: 3000, 4570

Wertebereich: 1024 ≤ Port Port Port port port ≤ 65535

Minimale Schrittweite: 1

Empfohlene Schrittweite: 1

GenParamNameGenParamNameGenParamNamegenParamNamegen_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.

Default: []

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

GenParamValueGenParamValueGenParamValuegenParamValuegen_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.

Default: []

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

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

Nummer des Sockets.

Nachfolger

send_imagesend_imageSendImageSendImagesend_image, receive_imagereceive_imageReceiveImageReceiveImagereceive_image, send_regionsend_regionSendRegionSendRegionsend_region, receive_regionreceive_regionReceiveRegionReceiveRegionreceive_region, send_tuplesend_tupleSendTupleSendTuplesend_tuple, receive_tuplereceive_tupleReceiveTupleReceiveTuplereceive_tuple, send_datasend_dataSendDataSendDatasend_data, receive_datareceive_dataReceiveDataReceiveDatareceive_data

Siehe auch

open_socket_acceptopen_socket_acceptOpenSocketAcceptOpenSocketAcceptopen_socket_accept, socket_accept_connectsocket_accept_connectSocketAcceptConnectSocketAcceptConnectsocket_accept_connect, get_socket_paramget_socket_paramGetSocketParamGetSocketParamget_socket_param, set_socket_paramset_socket_paramSetSocketParamSetSocketParamset_socket_param, close_socketclose_socketCloseSocketCloseSocketclose_socket

Modul

Foundation