所以,几乎我问的是,如何加入一个名为“在”不同命名空间内的命名空间?
def moveFile(root,number_of_files, to):
list_of_file = os.listdir(root)
list_of_file.sort()
for file in list_of_file:
name = root + str(file)
dest = to + str(file)
shutil.move( name, dest )
我能以某种方式获得这个吗? 谢谢。
答案 0 :(得分:0)
你不能轻易做到。与房间不同,名称空间不是动态的,并且在连接时确定。例如,您可以拨打io.connect(' / main');在前端。
连接完成后,套接字属于它所连接的命名空间。
dynamic namespaces的想法已经存在了一段时间,并且有一些实现和模块。
答案 1 :(得分:0)
Xplouder 添加的内容比我在github上的原始评论(2012年)要多,因为我不再使用该库了。
参考:https://github.com/socketio/socket.io/issues/285#issuecomment-8962287
我做回想一下变量socket
有一个名为namespace
的属性, 是对的引用套接字的名称空间当前。我自2012年以来无法代表对API的更改。
以下命令可以让您更好地了解内部发生的事情:
console.log( socket.namespace === mainNamespace );
console.log( socket.namespace.name );
console.log( socket.rooms );
我建议您尝试手动更改socket.namespace
,例如:
socket.namespace = chatNamespace;
如果你没有这样做,那么我认为套接字将加入/main/coolRoom
而不是/chat/coolRoom
,如你所料。
对于子孙后代,如果其他人遇到问题,我建议记录上面的console.log
语句,并观察当前命名空间名称如何影响.join()
方法。