将 erlang 套接字存储到数据库
Store erlang socket to database
我需要将套接字存储到数据库中,
gen_tcp:accept returns 类似
#Port<0.5>
我可以使用 io_lib:format
将其转换为位串
["Port<0.5>"]
将其存储到数据库中,但如何将其转换回原始状态以使用它发送和接收数据?
更新:
我试过 term_to_binary
但 mysql-otp 未能插入它所以我做了 binary_to_list(term_to_binary(Socket))
,它插入很好但在开头添加了额外的 <<194,xxx,xx...>>将二进制文件存入数据库,有什么解决办法吗?为什么会这样?如果它不添加额外的数据,我可以使用 binary_to_term
.
将其转换回来。
我将 varchar 更改为 varbinary,现在我可以直接将 term_to_binary
插入数据库,然后使用 binary_to_term
.
重用它
我需要将套接字存储到数据库中, gen_tcp:accept returns 类似
#Port<0.5>
我可以使用 io_lib:format
将其转换为位串["Port<0.5>"]
将其存储到数据库中,但如何将其转换回原始状态以使用它发送和接收数据?
更新:
我试过 term_to_binary
但 mysql-otp 未能插入它所以我做了 binary_to_list(term_to_binary(Socket))
,它插入很好但在开头添加了额外的 <<194,xxx,xx...>>将二进制文件存入数据库,有什么解决办法吗?为什么会这样?如果它不添加额外的数据,我可以使用 binary_to_term
.
我将 varchar 更改为 varbinary,现在我可以直接将 term_to_binary
插入数据库,然后使用 binary_to_term
.