new: pack_socket, unpack_socket