27、Erlang行为创建与发布管理

Erlang行为创建与发布管理

1. 创建自定义行为

创建自定义行为时,需将代码拆分为通用模块和特定模块,并定义回调函数及其返回值。创建时需遵循以下规则:
- 通用模块的名称必须与行为名称相同。
- 在行为模块中列出回调函数。
- 在回调模块中包含 -behavior(BehaviorName). 指令。

编译通用行为代码后,若在编译回调模块时遗漏任何回调,带有行为指令的编译会产生警告。

1.1 处理TCP流的示例

以下是一个封装TCP流相关活动的示例,包括连接、配置和错误处理,仅暴露接收到的数据流。

回调模块 tcp_print
-module(tcp_print).
-export([init_request/0, get_request/2, stop_request/2]).
-behavior(tcp_wrapper).

init_request() ->
    io:format("Receiving Data~n."), 
    {ok,[]}.

get_request(Data, Buffer)->
    io:format("."),
    {ok, [Data|Buffer]}.

stop_request(_Reason, Buffer) ->
    io:format("~n"),
    io:format(lists:reverse(Buffer)),
    io:format("~n").
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值