receive_serialized_itemT_receive_serialized_itemReceiveSerializedItemReceiveSerializedItemreceive_serialized_item (Operator)
Name
receive_serialized_itemT_receive_serialized_itemReceiveSerializedItemReceiveSerializedItemreceive_serialized_item — Empfangen eines serialisierten Elements über eine Socket-Verbindung.
Signatur
def receive_serialized_item(socket: HHandle) -> HHandle
Beschreibung
receive_serialized_itemreceive_serialized_itemReceiveSerializedItemReceiveSerializedItemReceiveSerializedItemreceive_serialized_item liest ein serialisiertes Element,
welches von einem anderen HALCON-Prozess über die Socket-Verbindung
SocketSocketSocketSocketsocketsocket mit dem Operator send_serialized_itemsend_serialized_itemSendSerializedItemSendSerializedItemSendSerializedItemsend_serialized_item
geschickt worden ist (siehe
fwrite_serialized_itemfwrite_serialized_itemFwriteSerializedItemFwriteSerializedItemFwriteSerializedItemfwrite_serialized_item für eine Einführung in die Grundlagen
der Serialisierung). Wenn noch kein serialisiertes Element verschickt
worden ist, wird der Prozess, der receive_serialized_itemreceive_serialized_itemReceiveSerializedItemReceiveSerializedItemReceiveSerializedItemreceive_serialized_item
aufgerufen hat, blockiert, bis genug Daten eingetroffen sind. Um
die Daten zu speichern wird eine neues serialisiertes Element
erzeugt und die Daten in diesem gespeichert. Der Operator gibt das
Handle des serialisierten
Elementes in dem Parameter SerializedItemHandleSerializedItemHandleSerializedItemHandleSerializedItemHandleserializedItemHandleserialized_item_handle zurück.
Für ein ausführliches Beispiel über die Nutzung einer Socket-Verbindung
siehe open_socket_acceptopen_socket_acceptOpenSocketAcceptOpenSocketAcceptOpenSocketAcceptopen_socket_accept.
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
SocketSocketSocketSocketsocketsocket (input_control) socket → HSocket, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Nummer des Sockets.
SerializedItemHandleSerializedItemHandleSerializedItemHandleSerializedItemHandleserializedItemHandleserialized_item_handle (output_control) serialized_item → HSerializedItem, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle des serialisierten Elements.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
receive_serialized_itemreceive_serialized_itemReceiveSerializedItemReceiveSerializedItemReceiveSerializedItemreceive_serialized_item den Wert 2 (H_MSG_TRUE).
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
send_serialized_itemsend_serialized_itemSendSerializedItemSendSerializedItemSendSerializedItemsend_serialized_item
Nachfolger
get_serialized_item_ptrget_serialized_item_ptrGetSerializedItemPtrGetSerializedItemPtrGetSerializedItemPtrget_serialized_item_ptr,
deserialize_matrixdeserialize_matrixDeserializeMatrixDeserializeMatrixDeserializeMatrixdeserialize_matrix,
deserialize_metrology_modeldeserialize_metrology_modelDeserializeMetrologyModelDeserializeMetrologyModelDeserializeMetrologyModeldeserialize_metrology_model
Modul
Foundation