企业网站系统源码,扁平化颜色网站,wordpress制作实践,公众号链接wordpress问题一#xff1a;如何规定远程调用的语法#xff1f;客户端如何告诉服务端#xff0c;我是一个加法#xff0c;而另一个是乘法。我是用字符串“add”传给你#xff0c;还是传给你一个整数#xff0c;比如 1 表示加法#xff0c;2 表示乘法#xff1f;服务端该如何告诉…问题一如何规定远程调用的语法客户端如何告诉服务端我是一个加法而另一个是乘法。我是用字符串“add”传给你还是传给你一个整数比如 1 表示加法2 表示乘法服务端该如何告诉客户端我的这个加法目前只能加整数不能加小数不能加字符串而另一个加法“add1”它能实现小数和整数的混合加法。那返回值是什么正确的时候返回什么错误的时候又返回什么问题二如果传递参数我是先传两个整数后传一个操作符“add”还是先传操作符再传两个整数是不是像咱们数据结构里一样如果都是 UDP想要实现一个逆波兰表达式放在一个报文里面还好如果是 TCP是一个流在这个流里面如何将两次调用进行分界什么时候是头什么时候是尾把这次的参数和上次的参数混了起来TCP 一端发送出去的数据另外一端不一定能一下子全部读取出来。所以怎么才算读完呢问题三如何表示数据在这个简单的例子中传递的就是一个固定长度的 int 值这种情况还好如果是变长的类型是一个结构体甚至是一个类应该怎么办呢如果是 int不同的平台上长度也不同该怎么办呢在网络上传输超过一个 Byte 的类型还有大端 Big Endian 和小端 Little Endian 的问题。假设我们要在 32 位四个 Byte 的一个空间存放整数 1很显然只要一个 Byte 放 1其他三个 Byte 放 0 就可以了。那问题是最后一个 Byte 放 1 呢还是第一个 Byte 放 1 呢或者说 1 作为最低位应该是放在 32 位的最后一个位置呢还是放在第一个位置呢最低位放在最后一个位置叫作 Little Endian最低位放在第一个位置叫作 Big Endian。TCP/IP 协议栈是按照 Big Endian 来设计的而 X86 机器多按照 Little Endian 来设计的因而发出去的时候需要做一个转换。 此文章为10月Day2学习笔记内容来源于极客时间《趣谈网络协议》推荐该课程。