我有一个 erlang gen_fsm 进程,它使用 erlang 的内置 gen_tcp 通过 tcp 与远程服务器通信。
我想让它成为一个 web-socket 客户端。经过一番调查,我得到了这个 erlang websocket 客户端库Erlang Websocket client。
看一些例子,看起来我必须使用
-行为(websocket_client_handler)。
基本上,我在 start_link 中执行此操作
start_link(UserID) ->
gen_fsm:start_link(?MODULE, [UserID], []).
但是,另一种行为期望 init 有不同的返回值和不同的状态。我的 gen_fsm 已经有了一个状态。
有人可以为此提供一些背景信息。
我认为为同一个模块定义两种行为并没有错,但鉴于每种行为在 init/[1/2] 函数中需要不同的返回类型,我开始思考这是否真的可行。只是想联系有经验的人。
谢谢。