Der Aufruf Set_Partner_Port (CMSPP) setzt die Portnummer für TCP/IP für die Partner-Anwendung und damit die Conversation Characteristic PORT. Der Aufruf überschreibt den Wert, der beim Initialize_Conversation-Aufruf zugewiesen wurde. Er darf nach dem Aufruf Allocate nicht mehr aufgerufen werden.
Diese Funktion gehört zu den zusätzlichen Funktionen des Trägersystems UPIC; sie ist nicht Bestandteil der CPI-C-Schnittstelle.
UPIC-Local auf Unix-, Linux- und Windows-Systemen:
Der Aufruf Set_Partner_Port wird bei der Anbindung über UPIC-L nicht unterstützt.
CMSPP (conversation_ID, listener_port, return_code)
Parameter
--> conversation_ID | Identifikation der Conversation |
--> port_number | legt fest, welche Portnummer der Partner-Anwendung beim Kommunikationssystem gesucht wird. |
<-- return_code | Ergebnis des Funktionsaufrufs |
Ergebnis (return_code)
CM_OK
Aufruf ok
CM_CALL_NOT_SUPPORTED
Die Funktion wird nicht unterstützt. Dieser Returncode tritt bei UPIC-L und bei UPIC-R auf BS2000-Systemen auf:
Bei UPIC-L auf Unix-, Linux- und Windows-Systemen tritt dieser Returncode immer auf. Er zeigt dem Programm an, dass keine Portnummer vergeben werden kann, da UPIC-L diese Information auf Grund des darunterliegenden Kommunikationssystems nicht benötigt.
Bei UPIC-R auf BS2000-Systemen tritt der Returncode nur auf, wenn die UPIC Bibliothek auf dem BS2000-System zusammen mit CMX eingesetzt wird. Das von UPIC-R verwendete Kommunikationssystem CMX bietet auf BS2000-Systemen keine Möglichkeit, an der Schnittstelle IP-Adressen zur Adressierung der Partner-Anwendung zu übergeben. Wenn die UPIC-Bibliothek die Socketschnittstelle als Kommunikationssystem verwendet, dann tritt der Returncode nie auf.
CM_PROGRAM_PARAMETER_CHECK
Der Wert der conversation_ID oder der port_number ist ungültig.
CM_PROGRAM_STATE_CHECK
Die Conversation ist nicht im Zustand "Initialize".
CM_PRODUCT_SPECIFIC_ERROR
Die UPIC-Instanz konnte nicht gefunden werden.
Zustandsänderung
Der Aufruf ändert den Zustand der Conversation nicht.
Verhalten im Fehlerfall
CM_PROGRAM_PARAMETER_CHECK
Programm ändern.
CM_PROGRAM_STATE_CHECK
Programm ändern.
CM_PRODUCT_SPECIFIC_ERROR
Das Betriebssystem kann nicht genügend Speicherplatz für interne Puffer bereitstellen. Überprüfen Sie Ihr Programm auf zu hohe Speicherplatzanforderung und starten Sie ggf. Ihr System neu.
CM_CALL_NOT_SUPPORTED
Muss kein Fehler sein: Falls eine Anwendung sowohl für UPIC-L als auch für UPIC-R vorgesehen ist, bedeutet dieser Returncode auf Unix-, Linux- und Windows-Systemen lediglich, dass die Anwendung mit einer UPIC-L-Bibliothek gebunden ist. Das Programm kann sich diesen Returncode merken und auf weitere Aufrufe zum Setzen von Adressinformationen verzichten.
Auf BS2000-Systemen bedeutet dieser Returncode, dass die Anwendung mit UPIC-R und CMX gebunden ist. Das Programm kann sich diesen Returncode merken und auf die Aufrufe Set_Partner_IP_Address und Set_Partner_Port verzichten.
CM_ENTRY Set_Partner_Port ( unsigned char CM_PTR conversation_ID, CM_INT32 CM_PTR port_number, CM_RETURN_CODE CM_PTR return_code )