好吧,bin_prot只是一个序列化协议,并不依赖于你用于传输层的任何东西。基本上,要将值序列化为字符串,您可以使用 Binable.to_string 功能(或 Binable.to_bigstring )。它接受一个打包模块。例如,要序列化一组整数,请执行以下操作:
Binable.to_string
Binable.to_bigstring
let str = Binable.to_string (module Int.Set) mine_set;
哪里 mine_set 是整数集。
mine_set
如果你有任意类型,实现bin_prot,那么它将工作相同。一个例子是:
module My_data = struct type t = int * string with bin_io end let str = Binable.to_string (module My_data) (42,"answer")