Connection to a specific server

Connection to a specific server

When SAOImageDS9.connect() is called without any argument, all subsequent requests will be sent to the first SAOImage/DS9 instance found by the XPA name server. To send further requests to a specific SAOImage/DS9 server, you may do:

SAOImageDS9.connect(apt) -> ident

where apt is a string identifying a specific XPA access point. The returned value is the fully qualified identifier of the access point, it has the form host:port for a TCP/IP socket or it is the path to the socket file for an AF/Unix socket. The access point apt may be a fully qualified identifier or a template of the form class:name like "DS9:*" which corresponds to any server of the class "DS9". Note that name is the argument of the -title option when SAOImage/DS9 is launched. See XPA Template for a complete description. When SAOImageDS9.connect() is called with no arguments or with a template containing wild characters, it automatically connects to the first access point matching the template ("DS9.*" by default) with a warning if no access points, or if more than one access point are found.

To retrieve the identifier of the current access point to SAOImage/DS9, you may call:

SAOImageDS9.accesspoint()

which yields an empty string if there are no current connection.

Remember that all requests are sent to a given access point, but you may switch between SAOImage/DS9 servers. For instance:

apt1 = SAOImageDS9.accesspoint()             # retrieve current access point
apt2 = SAOImageDS9.connect("DS9:some_name")  # second access point
SAOImageDS9.set(arr)                         # send an image to apt2
SAOImageDS9.connect(apt1);                   # switch to apt1
SAOImageDS9.set("zoom to", 1.4)              # set zoom in apt1