用的webman+GatewayWork,因为代码需要保存一些变量,用了context的,http下没有问题,但是用websocket发现,不同的message事件,获取的context里的值是一样的,要怎么改才能针对每个message
Context是针对webman自带的http进程的。自定义进程包括GatewayWorker插件无法直接使用。 如果你要在 GatewayWorker 里使用,需要在合适的时候执行 Context::destroy() 销毁,例如在onMesage的最后执行它
昨天看webman的源代码,确实是在send后调用了destroy,看源代码,我没看懂,onmessage执行完最后一行业务代码,调destroy,这个上下文就是message级别的吗?其他连接不会读到这个连接设置的变量吗
对,读不到
不对,不是其他连接,是其他message,即使是同一个连接的不同message,也读取不到吗
你保证每个message后都执行了 Context::destroy() 就读不到了
感谢大佬,万分感谢
Context是针对webman自带的http进程的。自定义进程包括GatewayWorker插件无法直接使用。
如果你要在 GatewayWorker 里使用,需要在合适的时候执行 Context::destroy() 销毁,例如在onMesage的最后执行它
昨天看webman的源代码,确实是在send后调用了destroy,看源代码,我没看懂,onmessage执行完最后一行业务代码,调destroy,这个上下文就是message级别的吗?其他连接不会读到这个连接设置的变量吗
对,读不到
不对,不是其他连接,是其他message,即使是同一个连接的不同message,也读取不到吗
你保证每个message后都执行了 Context::destroy() 就读不到了
感谢大佬,万分感谢