第四十六天
早上
很快解决了昨天的问题,这个问题说明当被问题影响心态后,最好休息休息,昨晚乱七八糟调一通,自己最后都不知道在调什么,没有控制变量乱弄,加上今早起来一看有俩变量名都写错了。因此:
- 在调试时保持清楚的思路和目的,心态正常。
- 严格控制变量,找到问题
剩下的是早上发现的一些注意点:
-
ROUTER只能通过存在的prefix决定消息发到哪,也就是说,如果你让router打首发,是不可能的,这里一定要注意一下各个套接字的基本功能和使用方法,之前看了忘,造成很多麻烦。
-
如果你想自定义ID标志符,一定在链接ROUTER前操作,不然ROUTER会自动为你链接的套接字分配一个随机ID,跟你之后设置的八竿子打不着。
-
zmsg 比 zframe方法大,它们的本质还是让我们对单独的一帧消息操作更便捷。
下午
试了XPUB-XSUB的代理,因为这个不用点到点,所以很快。
只有一点大意了 : 一定要设置SUB的过滤器后,才能正常接收,不论你过不过滤。
现在整体框架变成了:
- 一个 有代理功能的服务器 +N个客户端
- 客户端与服务器可以来回通讯;
- 每个客户端设置一个唯一特征标识字符串,服务器知道这个特征码,并且可以知道那些客户端在线(这部分还没写),任意两个在线的客户端可以互相发送消息。也就是说,可以不用IP了,但是得给每个客户端一个“身份”。
- 服务器能够给所有客户端广播。
- 客户端可以给其他客户端广播,当然,它们必须链接着服务器。
- 客户端可以拥有多个过滤器,至少匹配一个即被接收。
- 服务器是固定的。