问题标签 [gen-tcp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
erlang - 使用 gen_tcp:connect with IPv6 Address 的正确方法
有谁知道如何连接到 ipv6 tcp 服务器地址。以下尝试但不起作用。
和这个
虽然可以通过 IPv4 访问服务器。
谢谢。
elixir - Elixir - 如何连接到 TCP?:gen_tcp 给我带来了麻烦
我有 Vowpal Wabbit 服务器在某个 IP 和某个端口上运行。我可以从命令行与它进行交互,如下所示:
另一方面,如果我不向 netcat 传递任何信息,它的行为如下:
这是我的 Vowpal Wabbit 设置的预期和正确行为。现在我只需要通过 Elixir 的 TCP 与 Vowpal Wabbit 交谈。
从 IEX 内部:
所以我的问题是:鉴于我的服务运行正确并在 TCP 上响应,我如何使用 :gen_tcp 连接到它?
我正在尝试按照此处的指南进行操作。
更新误报——我的代码中出现了一个错字。
erlang - 如何使用 Erlang ssl:close/2
我有一个 SSL 服务器,我想在收到第一个ssl:recv
到原始 gen_tcp 后将其降级。假设这可以用来做那我找不到如何使用它的例子。而且我还不太擅长使用 Erlang/OTP 文档http://erlang.org/doc/man/ssl.html#close-2
我NewController::pid()
对文档有点困惑:
erlang - Erlang SSL TCP 服务器和垃圾收集
编辑:问题似乎与 SSL acccpeting 和内存泄漏有关。
我注意到如果你有很长的进程(它是一个服务器),并且客户端将数据发送到服务器(recv),那么 Erlang 垃圾收集永远不会被调用(或很少)
服务器需要数据(以执行操作),并且数据可以是可变长度的(由于诸如“Hello”或“How are you doing”之类的消息)。因此,Erlang 进程似乎会积累垃圾。
你怎么能正确处理这个,Erlang进程必须接触recv数据,所以它是不可避免的吗?或者您是否必须提出以较少次数接触可变长度数据的设计(例如立即将其传递给端口驱动程序)。
产生一个工人来处理数据是一个糟糕的解决方案(数百万个连接......),使用工人基本上是一回事,对吧?所以这让我几乎没有选择。
谢谢 ...
sockets - 接受来自其他进程的任务失败的套接字
我正在尝试测试一些长生不老药代码,并遇到了一些我不理解的 gen_tcp 行为。当我 gen_tcp.accept 一个套接字时,我可以在我创建它的任务中“访问”它,但不是不同的。我认为这是一个“controlling_process”问题,但即使我添加任何尝试使用 :inet.getstat 都会导致无效参数错误。我也无法在套接字上接收,Elixir 声称它已关闭,但对于这个问题 getstat 更容易。见下文:
预期产出
接收输出
灵药版本
sockets - erlang/elixir gen_tcp connect - 不连接但telnet wil
我有一台(斑马)打印机,我可以远程登录到:
然后我可以从控制台向它发送一些数据,它会为我打印一个标签。
我也可以从 scala 连接和打印没问题:
但我似乎无法通过 gen_tcp 通过 elixir/erlang 连接:
Iex 只是冻结并最终超时。连接到例如 redis 可以正常工作...我假设此连接的某些选项或质量会导致它从 elixir/erlang 失败?
我发现 gen_tcp 文档没有帮助 - 我尝试了一堆不同的参数。
networking - {active, false}, {active, true} 和 {active, once} 有什么区别?
您可能知道,gen_tcp 有三种模式。{active, false}
,{active, true}
和{active, once}
.
我已经阅读了一些关于{active, false}
和{active, true}
的文档{active, once}
。但是,我没有得到它。
{active, false}
和{active, true}
和 和有什么不一样{active, once}
?
你能解释清楚吗?
networking - 如何通过 Elixir 监听多个端口?
我想通过 Elixir 监听 2 个端口。不过,我设法监听了端口。但是,我无法从第二个端口获取数据。
我可以将数据发送到8787端口(httpSocket)。但是,我无法向7777(套接字)发送任何数据。
如果更改这两行的顺序,我可以将数据发送到7777(套接字),我不能将任何数据发送到8787端口。
如何监听多个端口并通过这些端口接收数据?
erlang - 如何从 gen_tcp:accept/1 返回的套接字中获取 MAC 地址?
到目前为止,我有以下 Elixir 代码
我怎样才能从 中获取 MAC 地址client_socket
?
PS我知道MAC地址每跳都会改变,但我的网络确保从客户端到服务器只有一跳,所以如果我能得到MAC地址,那肯定是客户端的。
ssl - erlang中基于gen_tcp的服务器/客户端持久和加密(ssl/tls)tcp连接
我有一个基于 erlang 的消息传递应用程序,我在其中使用 gen_tcp 模块通过 tcp 在客户端和服务器之间进行通信。当前的实现没有加密,因此也很安全。所以现在我想使用 ssl/tls 来保护传输,但找不到任何相同的工作示例实现。谁能建议我如何通过适当的示例在 gen_tcp 上实现 ssl/tls。
提前致谢。