0

所以我试图将 udp 数据包发送到计算机上的侦听端口,该端口未连接到同一个 LAN,但通过 erlang 中的 gen_udp 可以访问互联网。

我通过打开{ok, Socket} = gen_udp:open(8887).端口gen_udp:send(节点),所以我想知道我是否做错了什么?,我检查了防火墙和erlang,并且允许使用epmd。

4

1 回答 1

0

您是否尝试通过 : 将 Socket 的控制进程设置为当前进程 gen_udp:controlling_process(Socket,Pid)

然后,您应该设置一个接收循环并将消息发送给您。消息的格式应为:{udp, Socket, IP, InPortNo, Packet}

您也可以在打开套接字后尝试将套接字设置为被动模式inet:setopts(Socket, [{active, false}])。之后,您可以使用“gen_udp:recv/3”从套接字读取。

于 2011-05-07T14:06:27.443 回答