采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师你好,
1. 函数能不能直接被序列化呢? 就是不只序列化函数名称, 我想把整个函数都序列化可以吗?
2. 对象为什么不能直接在网络上传输呢?
谢谢老师!!!!
网络上传输的是字节流。对象的内部很可能带有指针(即使你没有定义),这些指针里面的地址传到别的机器一定是无法访问的。序列化就是把对象转成能够传输并且可以被反序列化复原的字节流。所以网络上传输一定要通过序列化反序列化。只是大部分情况,如果只是一些数据,字符串啥的,我们不需要考虑,系统会帮我们做。函数就比较复杂了。它对应指令,指令还可以各种跳转,还会有环境的依赖,这些很难提供一个统一的序列化方法。所以往往需要我们对具体的函数进行自行设计。
非常感谢!
老师, 是不是函数与struct都很复杂, 那么protobuf是不是 就是 解决这个事情的呢? 我不太理解
protobuf也不能解决这个问题。他只是一个比json更省网络带宽的序列化方案。但是都是把内存的数据转化成字节流。
登录后可查看更多问答,登录/注册
语法+分布式爬虫实战 为转型工程师量身打造
3.7k 14
713 1
2.0k 1
1.1k 12