open_socket_connectT_open_socket_connectOpenSocketConnectOpenSocketConnect (Operator)
Name
open_socket_connectT_open_socket_connectOpenSocketConnectOpenSocketConnect
— Öffnen einer Socket-Verbindung zu einem bestehenden Socket.
Signatur
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)
Beschreibung
open_socket_connectopen_socket_connectOpenSocketConnectOpenSocketConnectOpenSocketConnect
öffnet eine Socket-Verbindung zu einem
akzeptierenden Socket auf dem Rechner mit dem Namen
HostNameHostNameHostNameHostNamehostName
, der auf dem Port PortPortPortPortport
nach
Verbindungsanfragen horcht.
Mit dem Parameter 'protocol'"protocol""protocol""protocol""protocol" kann das verwendete Kommunikationsprotokoll
spezifiziert werden. Voreingestellt ist das '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" 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') 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_dataSendDataSendDataSendData
und receive_datareceive_dataReceiveDataReceiveDataReceiveData
.
Mit dem generischen Parameter '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" angegeben.
Für das 'HALCON'"HALCON""HALCON""HALCON""HALCON" Protokoll muss der akzeptierende Socket zuvor in
einem anderen HALCON-Prozess mit open_socket_acceptopen_socket_acceptOpenSocketAcceptOpenSocketAcceptOpenSocketAccept
erzeugt
worden sein. Um eine Verbindung herzustellen, muss der
HALCON-Prozess, in dem der akzeptierende Socket läuft,
socket_accept_connectsocket_accept_connectSocketAcceptConnectSocketAcceptConnectSocketAcceptConnect
aufrufen. Für ein ausführliches
Beispiel siehe open_socket_acceptopen_socket_acceptOpenSocketAcceptOpenSocketAcceptOpenSocketAccept
.
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" kann die Kodierung
für das Senden und Empfangen von Zeichenketten angegeben werden. Die
Kodierung wird für send_tuplesend_tupleSendTupleSendTupleSendTuple
, receive_tuplereceive_tupleReceiveTupleReceiveTupleReceiveTuple
,
send_datasend_dataSendDataSendDataSendData
und receive_datareceive_dataReceiveDataReceiveDataReceiveData
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.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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
HostNameHostNameHostNameHostNamehostName
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Name des Rechners, zu dem die Verbindung aufgebaut
werden soll.
Defaultwert:
'localhost'
"localhost"
"localhost"
"localhost"
"localhost"
PortPortPortPortport
(input_control) number →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Nummer des Ports.
Wertevorschläge: 3000, 4570
Typischer Wertebereich: 1024
≤
Port
Port
Port
Port
port
≤
65535
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
GenParamNameGenParamNameGenParamNameGenParamNamegenParamName
(input_control) attribute.name(-array) →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Namen der generischen Parameter, die für die
Socket-Verbindung eingestellt werden sollen.
Defaultwert: []
Werteliste: 'protocol'"protocol""protocol""protocol""protocol", 'string_encoding'"string_encoding""string_encoding""string_encoding""string_encoding", 'timeout'"timeout""timeout""timeout""timeout"
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue
(input_control) attribute.value(-array) →
HTupleHTupleHtuple (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", '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"
SocketSocketSocketSocketsocket
(output_control) socket →
HSocket, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Nummer des Sockets.
Nachfolger
send_imagesend_imageSendImageSendImageSendImage
,
receive_imagereceive_imageReceiveImageReceiveImageReceiveImage
,
send_regionsend_regionSendRegionSendRegionSendRegion
,
receive_regionreceive_regionReceiveRegionReceiveRegionReceiveRegion
,
send_tuplesend_tupleSendTupleSendTupleSendTuple
,
receive_tuplereceive_tupleReceiveTupleReceiveTupleReceiveTuple
,
send_datasend_dataSendDataSendDataSendData
,
receive_datareceive_dataReceiveDataReceiveDataReceiveData
Siehe auch
open_socket_acceptopen_socket_acceptOpenSocketAcceptOpenSocketAcceptOpenSocketAccept
,
socket_accept_connectsocket_accept_connectSocketAcceptConnectSocketAcceptConnectSocketAcceptConnect
,
get_socket_paramget_socket_paramGetSocketParamGetSocketParamGetSocketParam
,
set_socket_paramset_socket_paramSetSocketParamSetSocketParamSetSocketParam
,
close_socketclose_socketCloseSocketCloseSocketCloseSocket
Modul
Foundation