想对于之前的版本,多了注册函数和创建进程函数,可以理解的认为是增加了并行操作,但是我之前做过一些小项目而言,erlang的进程的确有他特殊的地方,这里会在之后的文章详细讲解,这段代码实际上是提供了“事务机制”,在handler发生异常时,回调用loop(Name, Mod, OldState)在之前的状态下进行循环,否则会在新的状态下进行运行
流程是怎样的呢:当服务端宕机,服务器会给客户端发送crash消息,说明服务器异常,然后客户端接收到消息后,可以做相应处理(在我们的项目中用到的是重连,例子中是退出),然后调用loop并带入变量OldState说明本次服务处理异常,同时不影响其他连接到服务器的客户端。
要测试的话,与server1完全相同只需要改变import时改为server2即可。