首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在以下位置检索客户端IP :牧场

在以下位置检索客户端IP :牧场
EN

Stack Overflow用户
提问于 2017-12-26 21:36:56
回答 1查看 346关注 0票数 0

我在Phoenix应用程序中使用:ranch来接收TCP包。

首先,我使用以下命令在服务器中创建了一个监听器:

代码语言:javascript
复制
:ranch.start_listener(tcp_echo, ranch_tcp, [{port, 5555}], echo_protocol, [] )

如何在echo_protocol中打印客户端IP

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-27 00:45:39

牧场包括一个sample echo application

echo_protocol.erl中,有一个初始化函数接受来自客户端的连接:

代码语言:javascript
复制
init(Ref, Socket, Transport, _Opts = []) ->
    ok = ranch:accept_ack(Ref),
    loop(Socket, Transport).

您可以在此处显示客户端ip地址:

代码语言:javascript
复制
init(Ref, Socket, Transport, _Opts = []) ->
    ok = ranch:accept_ack(Ref),
    {ok, {IpAddress, _}} = inet:peername(Socket),
    io:format("Client ~p~n", [IpAddress]),
    loop(Socket, Transport).

它将以如下格式出现:

代码语言:javascript
复制
Client {127,0,0,1}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47979391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档