Сохраните erlang сокет в базу данных - PullRequest
0 голосов
/ 05 января 2019

Мне нужно хранить сокеты в базе данных, gen_tcp: accept возвращает что-то вроде

#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.

1 Ответ

0 голосов
/ 05 января 2019

Я изменил varchar на varbinary, и теперь я могу напрямую вставить term_to_binary в базу данных, а затем повторно использовать его, используя binary_to_term.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...