使用bin_prot进行套接字通信

时间:2015-06-15 14:08:08

标签: sockets ocaml communication

我想在OCaml中使用bin_prot进行Socket通信。但是,我找不到任何详细的解释或示例来做到这一点。之前我以另一种方式进行了Socket通信,所以我知道它的流程。
在OCaml中使用bin_prot进行Socket通信有没有很好的解释或示例?

1 个答案:

答案 0 :(得分:1)

嗯,bin_prot只是一个序列化协议,并不依赖于你用于传输层的任何东西。基本上,要将值序列化为字符串,您可以使用Binable.to_string函数(或Binable.to_bigstring)。它接受一个打包模块。例如,要序列化一组整数,请执行以下操作:

 let str = Binable.to_string (module Int.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")