当客户端连接到服务器时,我正在将他们的连接升级到 websocket 连接并从一个大的 json 文件向他们发送回数据。这工作正常,但是,当用户想要停止时,我收到命令并想要pause数据流,然后当他们想要resume数据时继续发送。我似乎无法使用后两个选项。我看过频道,但似乎无法安静地知道该怎么做。我所拥有的是这样的
func foo() {
switch cmd {
case "play":
for _, data := range arr {
// send data
}
case "stop":
case "resume":
}
我尝试了几件事,但无法真正按照我想要的方式得到它,其中一个是渠道,我似乎无法按照我想要的方式工作,另一个正在break使用标记的循环,由于范围而不起作用:
func foo() {
var lastIndex := 0
switch cmd {
case "play":
Loop: // <-- not used
for i, data := range arr {
lastIndex = i
// send data
}
case "stop":
break Loop // <-- error Loop not defined
case "resume":
// start to send the data back from lastIndex
}
我在上面的正确轨道上吗?渠道是否更好?还是有更好的方法来做到这一点? 这是一个例子
哈士奇WWW
慕工程0101907
相关分类