深圳网站建设行业新闻,云凡济南网站建设开发,中小学网站建设规范,网站开发方式包括舔狗网络协议 #xff08;discard protocol)
最近互联网上#xff0c;“舔狗” 这个词语很火#xff0c;也衍生出来很多梗#xff08;快速说出互联网 4 大舔狗#xff01;#xff01;#xff01;#xff09;。然后今天偶然间看到了一个 RFC 文档#xff0c; 发现了一…舔狗网络协议 discard protocol)
最近互联网上“舔狗” 这个词语很火也衍生出来很多梗快速说出互联网 4 大舔狗。然后今天偶然间看到了一个 RFC 文档 发现了一个有趣的网络协议 这个协议让我立马想到了舔狗这个词哈哈。也不卖关子了让我们来直接看一看它吧 – Discard Protocol。这大概是最简单的RFC文档了其他的文档基本都是长篇大论我基本没有看完过。
这个协议的功能就是丢弃所有接受到的消息永远不会响应 discard service 丢弃服务是一个很有用的调试和测量工具。discard service 只是简单的丢弃它接收到的所有数据。 它有两种实现方式
基于 TCP 的丢弃服务 一种 discard service 是建立在TCP之上的基于连接的应用。服务器在 TCP 端口 9 上 监听 TCP 连接. 一旦一个连接建立任何接收到的数据都会被丢弃thrown away。不发送任何响应。这个连接会一直持续 直到调用用户主动终止连接。基于 UDP 的丢弃服务 另一种 discard service 是建立在 UPD 之上的基于数据报的应用。服务器在 UDP 端口 9 上监听 UDP 数据报。当接收到一个数据报丢弃它。不发送任何响应。 简单的实现一个 Go 版本
package mainimport (fmtlognet
)func main() {if listener, err : net.Listen(tcp, 0.0.0.0:8888); err ! nil {log.Fatal(err)} else {fmt.Println(服务已上线)connection, err : listener.Accept()if err ! nil {log.Fatal(err)}buf : make([]byte, 1024)count, err : connection.Read(buf)if err ! nil {log.Fatal(err)}fmt.Printf(接收到消息%v, 已丢弃\n, string(buf[0:count]))}
}
测试
这里我为了图省事 直接用浏览器来测试了。除非主动关闭浏览器不然这里浏览器会一直转圈圈 (模拟永远在等待)直到超时结束。 最后客户端会得到什么呢当然是一无所有啦