Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

4
  • 1
    After briefly reading up on NMEA0183, it sounds like your solution is going to have to involve something that parses NMEA0183 text, because apparently each UDP datagram needs to be exactly one, complete, NMEA0183 "sentence". So you'll need to pull in the NMEA0183 text via TCP, keep reading from the TCP stream until you have one single complete sentence, and then copy that single complete sentence into a UDP datagram and send it to the destination device.
    – Spiff
    Commented Jun 21 at 20:48
  • Ditto. The underlying general "issue" is: a TCP connection is a continuous stream (well, two streams; it's two-way), while UDP sends independent datagrams. This means that in general one cannot freely "translate" from TCP to UDP nor the other way around. Commented Jun 21 at 21:48
  • "Permission denied" might be caused by iptables/nftables. Apply options -d -d -d -d to socat to get more info where the error happens. Commented Jun 23 at 15:12
  • I'll try first adding the -d -d -d options to socat. To see if it helps. Thanks a lot for the hints... Commented Jun 23 at 15:47