![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络知识
文章平均质量分 88
无趣的人民艺术家
这个作者很懒,什么都没留下…
展开
-
网络内核之TCP是如何发送和接收消息的
老规矩,带着问题阅读:三次握手中服务端做了什么?为什么要将accept()单独一个线程而不是和读写的io线程共用一个线程池?当调用send()返回后数据就一定到对方或者在网线中传输了呢?1. TCP通信流程服务端我们首先会创建一个监听套接字,然后给这个套接字绑定一个ip和端口,这一步对应的方法就是bind(),之后就是调用listen()来监听端口,端口是和应用程序对应的,网卡收到一个数据包的时候后需要知道这个包是给哪个程序用的,当然一个应用程序可以监听多个端口。之后客户端发起连接内核会分配一转载 2021-05-05 11:02:53 · 1356 阅读 · 0 评论 -
TCP编程常见问题
1、网络字节序大端字节序2、TCP和UDP区别 UDP TCP 是否连接 无连接 面向连接 是否可靠 不可靠传输,不使用流量控制和拥塞控制 可靠传输,使用流量控制和拥塞控制 连接对象个数 支持一对一,一对多,多对一和多对多交互通信 只能是一对一通信 .原创 2021-03-05 09:12:41 · 448 阅读 · 1 评论 -
WebSocket 协议
解决的问题基于浏览器的机制,实现客户端与服务端的双向通信.协议概述来自客户端握手GET /chat HTTP/1.1Host: server.example.comUpgrade: websocketConnection: UpgradeSec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==Origin: http://example.comSec-WebSocket-Protocol: chat, superchatSec-WebSocket-转载 2021-03-02 14:48:03 · 282 阅读 · 0 评论 -
TCP连接关闭—close和shutdown
目录1、多线程多进程关闭连接的区别2、close的主要流程1)关闭监听句柄2)关闭普通ESTABLISH状态的连接(未设置so_linger)3)使用了so_linger的连接TCP连接的关闭有两个方法close和shutdown,这篇文章将尽量精简的说明它们分别做了些什么。为方便阅读,我们可以带着以下5个问题来阅读本文:1、当socket被多进程或者多线程共享时,关闭连接时有何区别?2、关连接时,若连接上有来自对端的还未处理的消息,会怎么处理?3、关连接时,若连接转载 2021-03-01 20:51:29 · 3050 阅读 · 0 评论 -
TCP连接建立和关闭状态转移
windows联网访客机软件开发项目1、负责访客业务需求梳理、需求分解以及项目概要设计2、重构单机访客软件代码,通过分层设计的原则,将软件分为UI层、业务逻辑层、网络交互层,单独负责网络交互模块的开发,向业务层提供统一的平台访问接口,同时屏蔽底层网络(TCP、HTTP)接入细节,通过任务队列(线程池实现,支持不同优先级事件)的方式处理网络数据包,再通过观察者模式将处理后的数据分发给不同的业务模块3、重构观察者模块代码,将同步通知的方式改为放到任务队列中异步通知,解决有多个观察者时,通知耗时和一个通知阻原创 2021-02-28 22:42:58 · 350 阅读 · 1 评论 -
Socket中SO_REUSEADDR/SO_REUSEPORT详解
目录SO_REUSEADDR/SO_REUSEPORT到底什么意思?设置SO_REUSEADDR选项TIME_WAIT有什么意义呢?SO_REUSEADDR/SO_REUSEPORT到底什么意思?SO_REUSEADDR选项有如下语义:这个套接字选项通知内核,如果端口忙,但TCP状态位于TIME_WAIT(Linux下的TIME_WAIT大概是2分钟) ,可以重用端口。如果端口忙,而TCP状态位于其他状态,重用端口时依旧得到一个错误信息,指明"地址已经使用中"。如果你的服务...原创 2021-02-17 14:34:13 · 536 阅读 · 0 评论 -
彻底明白ip地址,区分localhost、127.0.0.1和0.0.0.0
通俗的了解IP地址是什么对于IP地址,大家并不陌生,特别是在网络访问中我们会经常使用到(平时对域名如百度的www.baidu.com的访问,本质就是对域名所绑定的IP地址的访问),那么IP地址是什么呢?首先,我们要知道网络中的相互访问其实就是在进行两者间的数据传递。就如同送快递一样,快递发出只有知道你的住址信息,才能将快递送到你的手中。而在网络访问时,只有知道你在网络中的地址信息,才能将数据发送到你的设备上。所以,IP地址就是你在网络中的地址信息。与你现实地址不同的是,你的现实地址使用文字表示,而你转载 2021-01-21 15:08:20 · 759 阅读 · 0 评论