-
Notifications
You must be signed in to change notification settings - Fork 5
Description
I am trying to send a message with sender, the listener starts ok and binds to the port but then calling osc_message results in an exception:
def handle_cast({:osc_message, ip, port, data}, socket) do Logger.info("Sending UDP message") Logger.info("IP: #{inspect ip}") Logger.info("Port: #{inspect port}") Logger.info("Data: #{inspect data}") :ok = :gen_udp.send(socket, ip, port, data) {:noreply, socket} end
[info] Sender opened UDP port 58156 [watch] build finished, watching for changes... [info] Sending OSC message [info] Sending UDP message [info] IP: {192, 168, 1, 254} [info] Port: 8000 [info] Data: {"/tick", {:osc_integer, 1}} [error] Bad value on output port 'udp_inet'
[error] GenServer ExOsc.Sender terminating ** (MatchError) no match of right hand side value: {:error, :einval} (blink_test 0.1.0) lib/ex_osc/sender.ex:36: ExOsc.Sender.handle_cast/2 (stdlib 3.12.1.2) gen_server.erl:637: :gen_server.try_dispatch/4 (stdlib 3.12.1.2) gen_server.erl:711: :gen_server.handle_msg/6 (stdlib 3.12.1.2) proc_lib.erl:249: :proc_lib.init_p_do_apply/3 Last message: {:"$gen_cast", {:osc_message, {192, 168, 1, 254}, 8000, {"/tick", {:osc_integer, 1}}}} State: #Port<0.11>
`def send_message(ip_tuple, port, {path, args}) do
Logger.info("Constructing OSC message")
Logger.info("IP Tuple: #{inspect ip_tuple}")
Logger.info("Port: #{inspect port}")
Logger.info("Path: #{inspect path}")
Logger.info("Args: #{inspect args}")
data = OSC.Message.construct(path, args)
Logger.info("OSC.Message construct returned: #{inspect data}")
GenServer.cast(__MODULE__, {:osc_message, ip_tuple, port, data})
end`
Not sure what I am doing wrong.