这个问题是关于我使用 pysyft 库进行联合学习的项目,但是那些具有 websockets 知识的人也可以提供帮助,因为 pysyft 使用 websockets 进行服务器和客户端交互。
首先,我有一个关于服务器和客户端交互的问题。我创建了一个仪表板来启动一个 pysyft 服务器和一个连接到上述服务器的 pysyft 客户端。但是,我有一个场景,我想让客户端不时与服务器断开连接(手动断开连接),以便更改模型参数。
我的解决方案是在 pysyft websocketClientWorker 上执行 close(),它调用 websocket 对象上的 shutdown() 函数。我认为这样做会关闭客户端和服务器之间的连接。在对模型参数进行任何更改之后。我将再次重新创建 pysyft websocketClientWorker 对象并重新执行模型训练。但是,我面临的问题是:websocket._exceptions.WebSocketConnectionClosedException:套接字已经关闭。在数据加载器的迭代期间抛出此异常(尽管成功连接到服务器)。
也许有更好的方法来处理这种情况,或者我错过了对 websockets 的某些基本理解。任何帮助将不胜感激。谢谢 :)