Application Server: UDP messages

In the Base version of Voyager, can we have the Application Server output logging messages as a UDP packet to a user defined IP address and port. A custom external application could then receive these messages and take action on them. This would be a one way message and no need for polling or a TCP/IP session. So in the Application Server config window we would have:

check box - enable the UDP output
text box - enter the IP address (e.g., 192.168.1.1)
text box - enter the UDP port (e.g., 21130)

Then in the logging function we have:

code to write log message to disk
new code to send UDP message with log message

UDP protocol is very simple, fast and reliable. No session is created, it is like Voyager sending a SMS text message to a phone. It is one way.

Craig

As an alternative or in addition to, if we could have a new DragScript action:

SendUDPMessage(text variable) or
SendUDPMessage(text)

This way we could define custom status messages to send to the external application.

Craig

Welcome Craig,

i can add a new application server working in UDP. The TCP/IP remain because is more reliable and Voyager need to be reliable. UDP there 's not assurance that data arrive to destination … this mean you can lost something really important.

Let me know wich message you want to receive from the server or explain better how you need exactly.

Anyway i can add to DragScript the two block you ask (tell me difference between the two block because for me text is always variable or you intend text with a variable from DragScript?)

All the best
Leo

Hi Leo,
I wrote a windows application that accurately tracks a target without the use of a sky model or guide telescope. Each target has a predefined tracking profile so when a Voyager sequence is started my program would need to know which target is being observed.
I see how I can write a DragScript to run a sequence so I could add a DragScript statement just before it is run like "SendUDPMessage(“target name”). I could also do this when the sequence ends so my application would know when to stop making tracking corrections to the telescope. Something like: SendUDPMessage(“Sequence Done”).
If I can add SendUDPMessage action statements to my script then I could send commands to my application through the script.
It is correct that UDP is not guaranteed, but that was mostly for network applications. In this case the UDP message is within the same PC so not likely to be an issue.
It would also be nice though to have all messages that go to the log file to also be sent through UDP (if enabled) because then an external program has more information. Both would be best but may require too much work?

Craig

I finish today the application server TCP-IP last methods and documentation … please take a look

I’ll add a UDP server and thhe SendUDPMessage with free text.
I’ll add the same kind of block for the TCP-IP Server.

All the best
LO

Thank you Leo. I previously used SGP for my automation runs but found it did not have the flexibility to do what I needed, so I stopped using it. Recently I saw a forum posting which mentioned Voyager and so I spent the last couple of weeks reading the documentation. With the server application and DragScript, Voyager can easily meet my requirements. I am giving a paper at a conference in a couple of weeks and will be recommending Voyager to others.

Your hard work and great software is very much appreciated in the astronomy world.

Craig

2 Likes