WebSocket协议及Go中的用法

本文主要介绍WebSocket以及Websocket在Golang中的实现和使用。1. WebSocket是什么?这里先列两篇文章:《WebSocket 是什么原理?为什么可以实现持久连接?》,这个是知乎上的一篇文章,对于WebSocket讲的通俗易懂,建议先看一下。The WebSocket Protocol RFC6455,这个是WebSocket的RFC文档,所以内容非常全面(当然只涉及协议

- 阅读全文 -

TCP状态变迁图

TCP的状态变迁图囊括了TCP的所有状态,这里我们详细学习一下。在此之前,我们先简单回顾一下TCP的三步握手和“四步分手”。1. TCP的三步握手因为TCP是全双工的(即数据可以在两个方向上同时传递),所以建立一个TCP连接需要三步握手。如下图,是TCP三步握手的状态图:服务器端通过调用一系列接口(通常是socket、bind、listen)准备好接受外来的连接,我们称之为被动打开(passive

- 阅读全文 -

TCP协议头

1. TCP的服务TCP处于传输层,提供了一种面向连接的、可靠的字节流(byte stream)服务。第一个特性面向连接是指两个TCP应用(通常是一个客户端和一个服务端)在彼此交换数据之前必须先建立一条连接。在一个TCP连接中,仅有两方进行彼此通信。第二个特性可靠性是通过下列方式来提供的:应用数据被分割成TCP认为最适合发送的数据库(这和UDP完全不同,在UDP中,应用程序产生的数据报长度保持不变

- 阅读全文 -

TCP Keepalive基本知识

TCP keepalive在很多场景下都不是必须的,但是在某些特定的场景下,这个特性却会是非常有用。从TCP keepalive(后面称为keepalive)这个名字就可以大概理解这个特性的作用:keep tcp alive。我们可以通过检查我们的socket(TCP sockets)来判断网络连接是不是正常的(running or broken)。1. 什么是TCP Keepalivekeepa

- 阅读全文 -

微信公众号

公众号文章说明

随机文章

最近回复

  • NYC: 哈哈
  • NYC: 这样的确会有问题的,`clean_inactive`必须大于`i...
  • NYC: 主要原因还是按照最佳实践都应该用UTC时间,所以需求按照最佳实践...
  • lukez: 比如ignore_older参数比clean_inactive长...
  • QwQ: 按照教程配置IIS8.5主机环境Typecho伪静态问题终于解决...
  • W_Z_C: 果然可以,看了半天文档竟然没有发现这个插件,也是醉了……
  • xiongjunkun: hi, 你好, 能够详细解释一下导致filebeat重传的第二种...
  • NYC: 客气了
  • Aidan: 博主您的博客写的非常好,相见恨晚 ps: 不好意思,有点激...
  • Aidan: 博客您的博客写的非常好

分类

标签

归档