wilgx0

Results 22 comments of wilgx0

> @yudidi > 对于day1-rpc目录的这一句话,大佬们可以给我解释下吗? > https://github.com/geektutu/7days-golang/blob/9898515ba39d223be48e41c832633b8a79f0d82a/gee-rpc/day1-codec/main/main.go#L35 > ``` > _ = json.NewEncoder(conn).Encode(geerpc.DefaultOption) //我理解这句话执行完成应该已经往conn里面写入了内容,那么如果我此时应该可以从conn中读取到刚刚写入的内容。 > // 为了验证刚刚的猜想,我增加了下面这几句,我理解应该可以从conn读出内容才对。 > buf := make([]byte,1024) > n,err := conn.Read(buf) // 但是为什么执行到conn.Read,程序就直接退出了,甚至连panic都没有? > ``` _ =...

感谢大佬让我 如沐春风 如淋甘露 飘飘欲仙 让我走出人生低谷 让我让重新开始热爱生活

> @CaocaoWym > 大佬你好,向您请教个问题,我是从事建筑方面的工作,但是自己很喜欢编程,但我以后也不会从事软件方面的工作,纯粹是爱好和方便自己的工作和生活,go和Python两门编程语言都接触过,只能写出一些小程序,精力和时间毕竟是有限的,自己想主要深入学习一门语言,go的语法我很喜欢,Python感觉更实用些,自己应该怎样选择,麻烦给点意见,非常感谢 既然你以后并不考虑 专职软件开发 那么这2门语言我觉得你可以随意选择 工具而已不比纠结 应该主要考虑你的学习成本和项目开发成本吧 感觉 Python 可能更适合你

> @JesseStutler > 想请教一下,conn, _, err := w.(http.Hijacker).Hijack()这一步是在做什么呢 获取tcp 套接字,http协议也是基于tcp协议的 。注意下面的ServeConn 这个方法 他的参数是什么类型的,这就是他要从http链接中获取套接字的原因。

> @ppd0705 > 请教一下,不是太理解支持HTTP协议的意思。看起来是建立tcp连接后客户端发送了一个HTTP包(CONNECT方法)给服务端,之后的客户端的RPC请求应该就是普通的tcp包了? 谈一下我个人的看法, http协议从应用层编程的角度,我把他简单的理解成一个种数据格式, 服务器端和客服端之间的请求和响应需要按照这种数据格式来发送数据,数据格式详见:https://www.runoob.com/http/http-messages.html。 HTTP协议基于tpc但是它在应用层是感知不到TCP的存在的。 所以不存在先发了一个http包,之后的请求应该是tcp包的说法。兔老大这里只是用http 协议完成了一个握手的过程,然后在使用自己的定义的协议(详见Day1 服务端与消息编码 中的通信过程)来进行双方的通讯。

感谢手把手的教我框架的设计思想 让我对人生又重新燃起了希望

再一次被大佬精湛的技术 按在地板上摩擦

> @XiaoyeFang > 刚才照着大佬的代码敲了一遍,发现main函数中的循环发送请求如果不执行readBody或者执行出错,我们的sendResponse就会只打印其中的两三个请求,有时甚至还会报EOF错误: > > 代码如下: > ``` > for i := 0; i < 5; i++ { > h := &codec.Header{ > ServiceMethod: "Foo.Sum", > Seq: uint64(i), >...

> @yangchen97 > 我想问问如果不在header里指定body长度,会有粘包拆包的问题吗? json 字符串是有数据的边界的即 "{" 和 "}"所以这里并不会出现粘包的问题