
网络通信
文章平均质量分 81
wzbwzt
这个作者很懒,什么都没留下…
展开
-
Apisix的ext-plugin-pre-req 中的trace 关联zipkin插件的trace
apisix 链路追踪原创 2022-09-20 20:29:31 · 820 阅读 · 1 评论 -
MQTT简介
MQTT全称为 Message Queuing Telemetry Transport(消息队列遥测传输)是一种基于发布/订阅范式的“轻量级”消息协议,由 IBM 发布。MQTT 可以被解释为一种低开销,低带宽占用的即时通讯协议,可以用极少的代码和带宽的为连接远程设备提供实时可靠的消息服务,它适用于硬件性能低下的远程设备以及网络状况糟糕的环境下,因此 MQTT 协议在 IoT(Internet of things,物联网),小型设备应用,移动应用等方面有较广泛的应用。IoT 设备要运作,就必须连接到互原创 2022-04-08 20:23:28 · 1195 阅读 · 0 评论 -
Linux 网络状态工具 ss
ss命令用于显示socket状态。他可以显示 PACKET sockets,TCP sockets,UDP sockets,DCCP sockets,RAW sockets,Unix domain sockets等等统计。它比其他工具展示等多tcp和state信息。SS命令可以提供如下信息:所有的TCP sockets所有的UDP sockets所有ssh/ftp/ttp/https持久连接所有连接到Xserver的本地进程使用 state(例如:connected,synchronize.原创 2022-01-05 12:42:52 · 345 阅读 · 0 评论 -
JWT跨域认证
摘要JWT(JSON Web Token):一种跨域认证解决方案,属于一个开放的标准,它规定了一种Token实现方式,多用于OAuth2.0业务场景下;(OAuth2.0:授权机制,用来授权第三方应用,获取用户数据,详见:)Cookie-Session验证方式:用户在浏览器端填写用户名和密码,并发送给服务端服务端对用户名和密码校验通过后会生成一份保存当前用户相关信息的session数据和一个与之对应的标识(通常称为session_id)服务端返回响应时将上一步的session_id写入用户浏原创 2021-04-15 18:58:13 · 918 阅读 · 0 评论 -
gRPC接口调试工具-grpcui
Go gRPC 调试工具 -grpcui概述当我们在写 HTTP 接口的时候,使用的是 Postman 进行接口调试,那么在写 gRPC 接口的时候,有没有类似于 Postman 的调试工具呢?当然是有的 ~咱们一起看下 grpcui,源码地址:https://github.com/fullstorydev/grpcui看下官方描述:grpcui is a command-line tool that lets you interact with gRPC servers via a bro原创 2020-10-16 22:44:06 · 3217 阅读 · 0 评论 -
gRPC 调试工具 -grpcui
Go gRPC 调试工具 -grpcui概述当我们在写 HTTP 接口的时候,使用的是 Postman 进行接口调试,那么在写 gRPC 接口的时候,有没有类似于 Postman 的调试工具呢?当然是有的 ~咱们一起看下 grpcui,源码地址:https://github.com/fullstorydev/grpcui看下官方描述:grpcui is a command-line tool that lets you interact with gRPC servers via a bro转载 2020-08-09 23:41:03 · 3088 阅读 · 0 评论 -
goEmail发送邮件
使用gopkg.in/gomail.v2,发送邮件func SendMail(mailTo []string,subject string, body string ) error { mailConn := map[string]string { "user": "xxxxxx@xxx.com", "pass": "xxxxx", "host": "smtp.xx.com", "port": "465", } port, _ := st原创 2020-08-08 12:39:59 · 1603 阅读 · 1 评论 -
Gin的使用
Gin框架gin框架路由使用前缀树,路由注册的过程是构造前缀树的过程,路由匹配的过程就是查找前缀树的过程。gin框架的中间件函数和处理函数是以切片形式的调用链条存在的,我们可以顺序调用也可以借助c.Next()方法实现嵌套调用。借助c.Set()和c.Get()方法我们能够在不同的中间件函数中传递数据。使用前需要调用gin.Default()生成gin引擎调用r.Run()结尾,可以指定端口安装go get -u github.com/gin-gonic/gin静态文件解析一般放在原创 2020-07-17 17:57:11 · 951 阅读 · 0 评论 -
TCP连接的三次握手和四次挥手详解
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接,客户端在收发数据前要使用 connect() 函数和服务器建立连接。建立连接的目的是保证IP地址、端口、物理链路等正确无误,为数据的传输开辟通道。在了解三次握手和四次挥手的操作前需要了解下Tcp数据报的结构:重点关注的是数据序号、确认序号、以及标志位(U、A、P、R、S、F);数据序号:Seq(Sequence Numbe原创 2020-08-05 17:45:42 · 350 阅读 · 0 评论 -
虚拟机centos系统无法ping通网络
虚拟机centos无法ping通;需要查看网络配置是否准确:vi /etc/sysconfig/network-scripts/ifcfg-ens33onboo是否等于yesgateway网关是否和虚拟机的VMnat8网卡网关一致;此外虚拟机的VMnet8网卡是否与本地VMnet8在同一网段;DNS1一般设置的和网关相同...原创 2020-08-03 13:02:15 · 246 阅读 · 0 评论 -
Go实现Websocket
WebSocketWebSocket 是独立的、创建在 TCP 上的协议。WebSocket在 HTML5 游戏和网页消息推送都使用比较多。WebSocket 是 HTML5 的重要特性,它实现了基于浏览器的远程socket,它使浏览器和服务器可以进行全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的。它与HTTP一样通过已建立的TCP连接来传输数据,但是它和HTTP最大不同是:WebSocket是一种双向通信协议。在建立连接后,WebSocket服务器端和客户端都能主动向对方发送或接收数原创 2020-08-03 12:43:07 · 1591 阅读 · 0 评论 -
Go实现http(net包)
http协议基于Tcp/ip协议;区别在于Tcp是面向连接的,而http是短连接,一次请求对用一次回应服务端http的开启方式1:func f1(w http.ResponseWriter, r *http.Request) { n, err := ioutil.ReadFile("./home.html") if err != nil { w.Write([]byte("页面丢失了!")) } w.Write(n)}//模拟客户端请求;同浏览器func f2(w http.Re原创 2020-08-02 22:04:46 · 251 阅读 · 0 评论 -
gorilla/mux的使用
github.com/gorilla/mux:golang自带的http.SeverMux路由实现简单,本质是一个map[string]Handler,是请求路径与该路径对应的处理函数的映射关系。实现简单功能也比较单一:1.不支持正则路由, 这个是比较致命的2.只支持路径匹配,不支持按照Method,header,host等信息匹配,所以也就没法实现RESTful架构而gorilla/mux是一个强大的路由,小巧但是稳定高效,不仅可以支持正则路由还可以按照Method,header,host等信原创 2020-07-21 13:21:52 · 759 阅读 · 0 评论 -
Go实现TCP、UPD连接及粘包问题解决
UDP连接//服务端func main() { udpConn, err := net.ListenUDP("udp", &net.UDPAddr{ IP: net.IPv4(127, 0, 0, 1), Port: 30000, }) if err != nil { fmt.Println("udp listen failed err:", err) return } defer udpConn.Close() var tmp [1024]byte for {原创 2020-07-19 19:53:55 · 738 阅读 · 0 评论 -
互联网分层模型及Socket
互联网分层模型物理层电脑要与外界互联网通信,需要先把电脑连接网络,可以用双绞线、光纤、无线电波等方式。这就叫做”实物理层”,它就是把电脑连接起来的物理手段。它主要规定了网络的一些电气特性,作用是负责传送0和1的电信号。数据链路层下层的物理层既然不能规定不同0、1组合的信号代表什么意义,那么我们在数据链路层规定一套协议,专门的给0、1信号进行分组,以及规定不同的组代表什么意思,从而双方计算机都能够进行识别,这个协议就是“以太网协议”;以太网规定,一组电信号构成一个数据包,叫做”帧”(Fra原创 2020-07-19 19:03:00 · 415 阅读 · 0 评论