标签[gen-tcp]

gen_tcp代表“通用TCP”,是Erlang中的一个模块,提供用于TCP / IP通信的功能。

0
1回复
36

OTPgen_tcp的奇怪行为,设置{packet,4}并使用NodeJS“frame-stream”进行TCP通信

我一直在努力让我的消息在我的 NodeJS 服务器和我的 erlang gen_tcp 服务器之间正确构建。 我成功地使用了 {packet,line},直到我不得不发送大数据消息并需要切换到消息大小帧。 我将 gen_tcp 设置为{packet,2} 我正在使用来自以下位置的库: https :
1
1回复
57

如何使用ListenSocket的PORT的环境变量启动iex

我为我的应用程序创建了一个服务器和一个客户端部分,我想用不同的端口启动每个节点,我想用环境变量来做这怎么可能? 这是服务器代码: 和客户端连接代码: 完整代码在这里
1
1回复
56

如何禁用两个节点在同一端口上连接?

我正在制作一个多聊天应用程序,这是代码。 在这个应用程序中,我做了一个服务器,这里是代码: 您可以在代码中看到有一个客户端部分: 我希望当我在一个端口上启动一个节点时,另一个节点只能连接到另一个节点上。 这怎么可能?
4
1回复
65

如何编辑回声服务器以允许多个客户端交换消息

我创建了一个没有客户端代码的服务器。 我只需要在终端 telnet 127.0.0.1 4001 和另一个终端 telnet 127.0.0.2 4001 上输入,所以当我在第一个终端上输入消息时,它出现在同一个终端上,我知道这是一个回显服务器,我想要的是在可能的情况下修改此代码,以便其他终端上的其
1
1回复
108

Erlanggen_tcp连接仅适用于同一网络

正如问题所述,当我设置服务器时,它可以在同一网络(不同的计算机但相同的 wifi)上接收来自客户端的消息,但是当客户端在另一个网络上时,它无法访问服务器,我不知道为什么它不能。 任何人都可以帮忙吗?
2
1回复
82

erlang:如何从套接字接收HTTP/RTSP消息?

我想使用Erlang管理HTTP或RTSP会话。 例如,用于RTSP协议的标准会话如下所示: 每个消息的长度是不同的。 对于erlang, gen_server:listen使用一个选项{active, true} (以获取无限数量的数据)或{active, false} (以获取固定
1
1回复
98

如何在erlanggen_tcp中同时处理一个客户端?

我有TCP服务器,听Ip:端口。 任务:当一个客户端连接到Ip:Port(例如telnet Ip Port )时,必须删除另一个尝试连接的客户端。 换句话说,独家使用Ip:Port。 问题: 如何使用gen_tcp模块在Erlang上实现? 有可能通过gen_tcp的选项解
0
1回复
51

将erlang套接字存储到数据库

我需要将套接字存储到数据库中,gen_tcp:accept返回类似 我可以使用io_lib:format将其转换为位串 将其存储到数据库中,但是如何将其转换回其原始状态以使用其发送和接收数据? 更新:我尝试term_to_binary但mysql-otp未能将其插入,所以我做了bin
0
0回复
73

erlang中基于gen_tcp的服务器/客户端持久和加密(ssl/tls)tcp连接

我有一个基于erlang的消息传递应用程序,其中使用gen_tcp模块通过tcp在客户端和服务器之间进行通信。 当前的实现未加密,因此也很安全。 因此,现在我想使用ssl / tls来确保传输的安全,但是无法找到相同的工作示例实现。 任何人都可以建议我如何通过适当的示例在gen_tcp上实
0
2回复
260

如何从gen_tcp:accept/1返回的套接字获取MAC地址?

到目前为止,我有以下Elixir代码 如何从client_socket获取MAC地址? PS:我知道MAC地址每跳都会更改,但是我的网络确保从客户端到服务器只有一跳,因此,如果我可以获取MAC地址,那肯定是客户端的。
1
1回复
95

如何通过Elixir收听多个端口?

我想通过Elixir听2个端口。 不过我设法听了端口。 但是,我无法从第二个端口获取数据。 我可以将数据发送到8787端口(httpSocket)。 但是,我无法向7777 (套接字)发送任何数据。 如果更改这两行的顺序,那么我可以将数据发送到7777 (套接字),我无法向8787
0
2回复
457

{active,false},{active,true}和{active,一旦一次}有什么区别?

您可能知道,gen_tcp有三种模式。 {active, false} , {active, true}和{active, once} 。 我已经阅读了一些有关{active, false} , {active, true}和{active, once}文档。 但是,我不明白。 {a
2
3回复
202

ErlangSSLTCP服务器和垃圾回收

编辑:问题似乎与SSL匹配和内存泄漏有关。 我已经注意到,如果您的Processes(它是服务器)的寿命很长,并且客户端将数据发送到服务器(recv),则Erlang垃圾回收永远不会被调用(或很少调用) 服务器需要数据(以执行操作),并且数据可以是可变长度的(由于诸如“ Hello”或“
2
1回复
150

如何使用Erlangssl:close/2

我有一个 SSL 服务器,我想在收到第一个ssl:recv到原始 gen_tcp 后将其降级。 假设这可以用来做我找不到如何使用它的例子。 而且我还不太擅长使用 Erlang/OTP 文档http://erlang.org/doc/man/ssl.html#close-2 我对文档中的NewCont
0
0回复
441

Elixir-如何连接到TCP?:gen_tcp给我带来麻烦

我有在特定IP和特定端口上运行的Vowpal Wabbit服务器。 我可以从命令行与之交互,如下所示: 另一方面,如果我不将任何信息传递给netcat,则其行为如下: 对于我的Vowpal Wabbit设置,这是预期的正确行为。 现在,我只需要通过Elixir的TCP与Vowpal
0
3回复
353

使用gen_tcp:connectwithIPv6Address的正确方法

有谁知道如何连接到 ipv6 tcp 服务器地址。 以下尝试但不起作用。 而这 虽然可以通过 IPv4 访问服务器。 谢谢。
0
1回复
131

无法连接到特定的网络接口

我已经阅读了有关'inet' , 'gen_tcp'的文档,但无法理解错误在哪里。 connect_option()= {ip,inet:socket_address()} socket_address()= ip_address() ip_address()= ip4_addres
1
0回复
233

在localhost上测试具有多个客户端的并发服务器:error,econnrefused

我无法让多个客户端与我的并发echo服务器通信。 这是我的结果: 服务器终端窗口: 客户终端窗口: 在shell中,如果我启动我的服务器,然后连接一个客户端,我的客户端和服务器可以来回通信而不会出现错误: 服务器终端窗口: 客户终端窗口: 在我失败的并发测试中,我这样做
1
1回复
1,552

使用gen_tcp的Erlang客户端-服务器示例未收到任何信息

我试图在客户端接收数据,但什么也没收到。 发送消息的服务器代码 应该接收并打印出来的客户端client(Port)-> {ok, Sock} = gen_tcp:connect("localhost",Port,[{active,false},{packet,2}]), A = gen
0
1回复
917

在打开的连接中将消息从Elixir中的TCP服务器发送到TCP客户端

我通过使用Erlang :gen_tcp模块的实现在Phoenixframwork中开发了一个TCP服务器。 我可以通过调用:gen_tcp.listen(port)来启动服务器,然后监听该端口上的新连接。 一个客户是药房的自动拣选系统(基本上是自动配药机器人)。 因此,作为TCP客