全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
楼主: zhou

【已解决】有没有golang大手子,问题求解

[复制链接]
发表于 2024-11-19 17:36:15 | 显示全部楼层
zhou 发表于 2024-11-19 17:34
当然不行,常见方法都试过了


。。。gpt 回答太长了。。。 你自己去问

golang 实现一个 服务端 客户端 socket 通讯, 其中包含 包头【包体长度】 包体


回答的很详细。。。 包括服务端和客户端代码。
 楼主| 发表于 2024-11-19 17:37:36 | 显示全部楼层
欧阳逍遥 发表于 2024-11-19 17:36
。。。gpt 回答太长了。。。 你自己去问

golang 实现一个 服务端 客户端 socket 通讯, 其中包含 包头【 ...

GPT不行的,算了
而且提到的什么包头包体 跟本贴主旨也没啥关系
发表于 2024-11-19 17:48:12 | 显示全部楼层
楼主真的了解并且明白自己的需求是什么吗?
你自己明白多次Read意味着什么吗?多次Read的前提条件是什么你知道吗?
发表于 2024-11-19 17:50:41 | 显示全部楼层
本帖最后由 欧阳逍遥 于 2024-11-19 17:56 编辑
zhou 发表于 2024-11-19 17:37
GPT不行的,算了
而且提到的什么包头包体 跟本贴主旨也没啥关系


算了。。。 可能我真的不会吧
发表于 2024-11-19 17:52:23 | 显示全部楼层
不可能用一个conn变量做到的
发表于 2024-11-19 17:56:54 | 显示全部楼层
欧阳逍遥 发表于 2024-11-19 17:50
你应该把 服务端 和 客户端代码都贴出来。。。

客户端可以循环读, 但是也要服务端 循环发才行。


他一直只能读一次的原因,很大概率是客户端的问题,客户端不一直发消息,服务端哪里能收到消息噢
但是他自己估计一直在懵逼,因为我推测他连短连接长连接,还有tcp/udp都不清楚,所以你们跟他说什么数据包包头之类他才啥都不知道,甚至连自己在问啥估计都还懵逼着
不过也很正常,谁都是从小白过来的
 楼主| 发表于 2024-11-19 17:57:01 | 显示全部楼层
puper 发表于 2024-11-19 17:52
不可能用一个conn变量做到的

确实瓶颈了,有没有什么曲线救国的方案呢?
发表于 2024-11-19 17:58:40 | 显示全部楼层
zhou 发表于 2024-11-19 17:57
确实瓶颈了,有没有什么曲线救国的方案呢?

从conn读出来, 分发成你需要的个数
发表于 2024-11-19 17:59:13 | 显示全部楼层

项目中的代码,可以参考一下:


// 格式化请求参数
// copy 重新写入reqbody 默认写入
func CopyReqAndFormData(req *http.Request, copy ...bool) {
        //获取请求体内容
        bodyBytes, _ := ioutil.ReadAll(req.Body)
        _ = req.Body.Close()
        //将请求体内容重新写入请求体
        req.Body = ioutil.NopCloser(bytes.NewBuffer(bodyBytes))
        if strings.Index(req.Header.Get("Content-Type"), "json") > -1 {
                _ = ParseJson(req)
        } else {
                _ = req.ParseForm() //格式化请求内容
        }
        //将请求体内容重新写入请求体
        if len(copy) == 0 || copy[0] == false {
                req.Body = ioutil.NopCloser(bytes.NewBuffer(bodyBytes))
        }
}
发表于 2024-11-19 17:59:46 | 显示全部楼层
迷茫的tom 发表于 2024-11-19 17:56
他一直只能读一次的原因,很大概率是客户端的问题,客户端不一直发消息,服务端哪里能收到消息噢
但是他 ...

刚看了 代码截图。。。 我选择闭嘴。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-1-31 00:48 , Processed in 0.069677 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表