登录 立即注册

找到10226个回复

森森 1楼回复 旧人爱特文管美化并增加代码高亮和纠错功能 (2023-06-15//)
嘿嘿,我原来也美化过
胡椒舰长 10楼回复 加勒比海带有一个关于即时聊天的疑惑 (2023-06-15//)

@老虎会游泳,群聊风暴的问题,我是使用了group_id赋予群的内部编号,这样系统逻辑需要推送的时候,只要解析这个id就知道具体的分布式中的目标gateway的ip:port,这样就不会造成群惊了,
IMG_9891.jpeg(45.95 KB)IMG_9892.png(164.18 KB)

hik 4楼回复 胡图图yuzu能玩舞力全开不? (2023-06-15//)
@老虎会游泳,可以用这,我买过,没用几次,手感不咋地但可以给joycon充电,十几块
Screenshot_2023-06-15-18-48-44-498_com.xunmeng.pinduoduo-edit.jpg(102.78 KB)
胡椒舰长 2楼回复 胡椒舰长golang的log包求助 (2023-06-15//)

目前发现,只要有- 或者> 就会这样,去掉就正常,
用strconv.Quote()解决,因为特殊符号被转义为实体动作了,或者用log.printf(“%s”,str)解决

旧人 1楼回复 胡椒舰长golang的log包求助 (2023-06-15//)

我问了一下gpt4,以下是gpt4的回复,从你的描述看,这个问题可能并不是一个 bug,而是因为 log.Println()fmt.Println() 对待参数的方式有所不同。

log.Println() 函数会为每个参数调用 fmt.Sprint() 来生成输出的字符串。在你的第一个例子中,你传递给 log.Println() 的是一个字节切片(startInfo.Bytes()),fmt.Sprint() 会将这个字节切片转换为一个字符串,其中每个字节都被转换为其对应的十进制数值,这就是为什么你看到一串数字的原因。

在你的第二个例子中,你传递给 log.Println() 的是一个字符串(startInfo.String())。这个字符串应该能正常打印出来,但是你说结果卡住了。这可能是因为你的环境或者终端有些问题,或者是因为 register.ListenAddr 中包含了一些非打印字符,导致在终端上看起来像是卡住了。

你提到你已经设置了 log.SetOutput(file),并且在文件中的记录是正常的,这说明 log.Println() 是正常工作的。你可以尝试在不同的终端或者环境下运行你的程序,看看是否还会出现同样的问题。

如果使用 fmt.Println() 没有问题,那么在这种情况下,你可以继续使用 fmt.Println() 来打印日志。如果你需要的是将日志写入文件,那么你可能需要使用 log 包,因为 fmt 包并没有提供设置输出的功能。

另外,你也可以尝试一下 log.Printf() 函数,这个函数允许你指定一个格式字符串,可以更精确地控制输出的格式。例如:

log.Printf("[%s] Starting  server at -> %s ;Listening...\n", register.Name, register.ListenAddr)

这样,你就不需要使用 bytes.Buffer 来手动构建字符串了。

㝶芾厶眵攴䭡 9楼回复 加勒比海带有一个关于即时聊天的疑惑 (2023-06-15//)

QQ客户端和服务器之间有心跳机制,客户端通过周期性心跳上报,可知道什么时候需要拉消息或服务器知道什么时候推消息
~~~

老虎会游泳 3楼回复 胡图图yuzu能玩舞力全开不? (2023-06-15//)

@hik,楼主说他switch坏了,joycon应该还能用。
@胡图图,不过我很好奇你怎么给joycon充电

老虎会游泳 8楼回复 加勒比海带有一个关于即时聊天的疑惑 (2023-06-15//)

@无名啊,直播间弹幕甚至可以像直播本身一样通过无状态HTTP服务器分发,按时间切片放在不同的json文件里,然后由一个列表(类似m3u8)不断列出最新的json文件名,由播放器自行下载展示。这样就能用分发直播视频流的渠道分发弹幕了。

老虎会游泳 7楼回复 加勒比海带有一个关于即时聊天的疑惑 (2023-06-15//)

@无名啊,直播弹幕和群聊的不同点:

  1. 历史记录:如果对方发消息时你不在线,群聊允许你稍后接收消息,但直播就直接错过了。
  2. 连接数量:为每个直播间建立一个TCP连接是可接受的,但为每个群建立一个TCP连接似乎不可接受(你可能加入了几百个群)。所以群聊必须由服务器合并你收到的消息,但直播间不需要合并。
  3. 消息可达性:未收到某个群消息是不可接受的,但未收到某些弹幕完全可以。很多人气很高的直播间弹幕一屏根本放不下,都是裁剪后显示的,每个人都只收到了部分弹幕。
无名啊 6楼回复 加勒比海带有一个关于即时聊天的疑惑 (2023-06-15//)

@老虎会游泳,不是发一个弹幕,就要转发给其他 几十成百上千用户 咩。。

老虎会游泳 5楼回复 加勒比海带有一个关于即时聊天的疑惑 (2023-06-15//)

@无名啊,因为每个直播都是一个单独的连接,不需要考虑多个群共享连接,所以采用CDN模型就行了,由一个中心服务器负责发送消息,然后逐级分发给全国CDN,每个人收到的消息都一样。发弹幕则是统一发给那个中心服务器。

hik 2楼回复 胡图图yuzu能玩舞力全开不? (2023-06-15//)
可以的,但是要joycon吧?
echo醉老仙 4楼回复 加勒比海带有一个关于即时聊天的疑惑 (2023-06-15//)

yy几万人在一个频道即时聊天 当年可是行业翘楚

无名啊 3楼回复 加勒比海带有一个关于即时聊天的疑惑 (2023-06-15//)

@老虎会游泳,那直播弹幕那种呢?几十成百上千万用户直播间那种。。

老虎会游泳 2楼回复 加勒比海带有一个关于即时聊天的疑惑 (2023-06-15//)

@加勒比海带,是,所以QQ群有人数上限,就是为了避免单个群连接数太高服务器撑不住,以及形成广播风暴(每发一个消息就要转发给几千人这种)。限制为几百人是比较合适的。

至于具体的实现,可以采用消息中继模型:

  1. 我只与负责我登录的服务器联系。群里的其他人各自在他们的服务器,和我可以不在同一个服务器。
  2. 每个群都有一个专门负责的服务器进行中继。
  3. 有人发消息时,先发给自己的服务器,然后自己的服务器把消息转发给对应群的中继服务器,中继再查找各个群成员在哪个服务器,并逐一转发。最后群里的所有人都收到了消息。
  4. 此时设置群成员上限就很有必要,否则每次发消息都相当于给所有服务器都发了一遍,形成广播风暴。
天天 1楼回复 加勒比海带有一个关于即时聊天的疑惑 (2023-06-15//)
楼主 @加勒比海带 于 2023-06-15 20:01 删除了该楼层,理由如下:

无关评论

老虎会游泳 1楼回复 胡图图yuzu能玩舞力全开不? (2023-06-15//)

@胡图图,我看贴吧说可以

我没K 6楼回复 我没Kgta5手游打不开,一直是这个画面,怎么办? (2023-06-14//)
@呆哥,侠盗猎车-自由城也没有手游吗?我现在想玩自由城跟gta5,,😭
咯叽 5楼回复 我没Kgta5手游打不开,一直是这个画面,怎么办? (2023-06-14//)
层主 @咯叽 于 2023-06-19 16:47 删除了该楼层。
我没K 4楼回复 我没Kgta5手游打不开,一直是这个画面,怎么办? (2023-06-14//)
@咯叽,发给我下载链接喂兄弟
下一页 上一页 (116 / 512页)

11月30日 07:38 星期六

本站由hu60wap6华为CPU驱动

备案号: 京ICP备18041936号-1