使用 bin_prot 进行套接字通信

Making socket communication using bin_prot

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

好吧,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")