我想用 Erlang 管理 HTTP 或 RTSP 会话。
例如,RTSP 协议的标准会话如下所示:
OPTIONS rtsp://192.168.1.55/test/ RTSP/1.0\r\n
CSeq: 1\r\n
User-Agent: VLC media player (LIVE555 Streaming Media v2008.07.24)\r\n
...
PLAY rtsp://192.168.1.55/test/ RTSP/1.0\r\n
CSeq: 5\r\n
Session: 1\r\n
Range: npt=0.000-\r\n
User-Agent: VLC media player (LIVE555 Streaming Media v2008.07.24)\r\n
每条消息的长度都是不同的。对于 erlang,gen_server:listen
使用选项{active, true}
(允许获取无限数量的数据)或{active, false}
(用于获取固定长度的数据)。
有没有推荐的方法来获取和解析这些可变长度的消息?