你好,这里是虎绿林。
微信 SwimmingTiger(加好友备注hu60,否则不容易通过),手机 18502433620(仅短信,拒接来电),邮箱 hu60.cn@qq.com(不常看),QQ 905172616(较少上线)
@㝶芾厶眵攴䭡,我其实不知道是新特性,只是做理论分析。
@㝶芾厶眵攴䭡,如果编译时已经优化成寄存器拷贝了,就不会有内存分配了。
如果对象很小,可以直接放在寄存器上(<=64位),用值接收者可以更快,因为可以优化为寄存器拷贝,避免了内存寻址。如果用指针接收者,就必须为对象分配内存地址,会稍慢。
@1mm0rtal,用这种方式发送一个启动sw3.exe的wine.log文件:
https://hu60.cn/q.php/bbs.topic.96470.html#nav
package main
import (
"fmt"
)
type InterfaceConnection interface {
DoSomething() int
}
type MyConnection struct {
id int
}
func (c *MyConnection) DoSomething() int {
fmt.Println("Doing something:", c.id)
return c.id
}
func main() {
Connections := make(map[uint64]InterfaceConnection)
_workerConnections := make(map[uint64]InterfaceConnection)
conn := &MyConnection{id: 1}
Connections[1] = conn
_workerConnections[1] = conn
obj, ok := Connections[1]
fmt.Printf("%v, %v\n", obj, ok)
delete(Connections, 1)
obj, ok = Connections[1]
fmt.Printf("%v, %v\n", obj, ok)
obj, ok = _workerConnections[1]
fmt.Printf("%v, %v\n", obj, ok)
}
&{1}, true
<nil>, false
&{1}, true
确实不会影响另一个
map的value是同一个&Struct{}
map的delete只是删除了键和值的对应关系,并不会对值做内存释放操作。
除非没有地方继续引用该值,它才会被垃圾回收。
所以直到fmt.Printf("%p", _workerConnections[1])执行完成,&MyConnection{id: 1}才可以被垃圾回收,在此之前它都是有效的。
@1mm0rtal,你选的游戏安装程序是什么格式,是exe吗?
@bigfuji,麒麟990只能使用华为定制的内核,安装第三方内核没有用,就算真的换了应该也启动不了。
@无名啊,可以负载均衡啊,一个直播间对应一个弹幕服务器就行了。
减少弹幕数量和屏蔽的功能都可以在前端实现,字幕轨只是用于提取弹幕内容。
顺便一提直播弹幕,我觉得最有趣的方法是直接把弹幕嵌在视频流的字幕轨里,这样只要前端加个字幕轨提取代码就行了。视频编码器那边,加字幕的工作交给切片服务器就行了,切片是很简单的工作,顺便混合一下字幕不会有什么额外开销。唯一的问题是审核,想删掉嵌入视频的弹幕比较困难
@无名啊,直播间弹幕甚至可以像直播本身一样通过无状态HTTP服务器分发,按时间切片放在不同的json文件里,然后由一个列表(类似m3u8)不断列出最新的json文件名,由播放器自行下载展示。这样就能用分发直播视频流的渠道分发弹幕了。
@无名啊,直播弹幕和群聊的不同点:
@无名啊,因为每个直播都是一个单独的连接,不需要考虑多个群共享连接,所以采用CDN模型就行了,由一个中心服务器负责发送消息,然后逐级分发给全国CDN,每个人收到的消息都一样。发弹幕则是统一发给那个中心服务器。
@卷心菜,是,所以QQ群有人数上限,就是为了避免单个群连接数太高服务器撑不住,以及形成广播风暴(每发一个消息就要转发给几千人这种)。限制为几百人是比较合适的。
至于具体的实现,可以采用消息中继模型:
@胡图图,我看贴吧说可以
@㝶芾厶眵攴䭡,还可以开这个:
https://www.alibabacloud.com/help/zh/alibaba-cloud-cdn/latest/set-a-bandwidth-cap
您可以通过配置带宽封顶功能,限制带宽用量的上限,减少因突发流量导致的损失。
不过什么数值合适很难判定,所以我没开。
@㝶芾厶眵攴䭡,我开了频次控制,刷太快会拦截。

@胡椒舰长,虎绿林的非图片附件链接。
如果没有这个,秒传的文件就只能是首次上传时的文件名了。
@王小二,测试一下DNS服务器是否正常:
nslookup 163.com
如果报错,说明DNS服务器不对,得修改exagear32的配置文件(具体比较复杂,加微信 https://hu60.cn/q.php/bbs.topic.95988.html )。
我今天试了一下,nslookup命令在wine-3.0中不存在
不过我看到你游戏已经启动了,那游戏可以正常安装更新吧。如果可以安装更新,说明DNS没问题。建议你在允许的情况下用手机热点连接电脑看看能不能登录,如果可以登录,说明你的局域网阻止了游戏服务器连接。
@王小二,我今天试了一下,nslookup命令在wine-3.0中不存在
不过我看到你游戏已经启动了,那游戏可以正常安装更新吧。如果可以安装更新,说明DNS没问题。建议你在允许的情况下用手机热点连接电脑看看能不能登录,如果可以登录,说明你的局域网阻止了游戏服务器连接。
@王小二,测试一下DNS服务器是否正常:
nslookup 163.com
如果报错,说明DNS服务器不对,得修改exagear32的配置文件(具体比较复杂,加微信 https://hu60.cn/q.php/bbs.topic.95988.html )。
@兲蛋,?attname=文件名 功能的实现方法
@无名啊,不知道,但最有可能在 GitHub Copilot X 实现
https://github.com/features/preview/copilot-x
???
@rkonfj,能不能添加一个新功能,按住Ctrl或Shift的时候点击机器人头像,就允许同时@多个机器人,不清空之前的@
@希望自己长胖胖,虎绿林有防盗链,机器人下载不了图片。