在 WebSocket 服务端这里,我们也可以设置一下有客户端连接或者断开的时候,在服务端这里要做的事情。打开 AppGateway,在这个类的定义上面,加上 implements,实施两个接口,一个是 OnGatewayConnection 接口,这样就需要在类里面添加 handleConnection 方法来处理客户端的连接。
再实施一个 OnGatewayDisconnect,实施了这个接口,需要在这类里面添加 handleDisconnect 方法,处理客户端断开连接要做的事情。
选中类的名字,按一下 command + . 然后可以选择实施还没有实施的接口,这样编辑器会自动在类里面添加需要的方法。你会发现这里添加了一个 handleConnection 还有一个 handleDisconnect 方法。
方法接收的这个 client 参数是一个 WebSocket 客户端,因为之前我们用的是 Socket.io,所以这个 client,它的类型就可以设置成 Socket。这个 Socket 来自 socket.io 。
客户端成功连接到这个 WebSocket 服务,服务端会执行 handleConnection 这个方法,在这个方法里面,可以用一个 console.log,输出 Client connected.
客户端断开连接,会执行这里的 handleDisconnect 方法,在这个方法里也用一个 console.log,输出 Client disconnected. 这样如果有客户端断开了跟服务端的连接,在服务端这里要做的事情暂时就是简单的控制台上输出 Client disconnected 这条信息。
预览
回到运行项目开发服务的终端,这里会输出一条 Client connected,说明有客户端连接到了我们的 WebSocket 服务。
在浏览器,可以先掉这个标签,然后再到终端观察一下,这里又会输出一条 Client disconnected。 回到浏览器,重新访问一下应用,在终端又会输出一条 Client connected。