上篇文章简单的摘录了TCP建立连接和释放连接的过程。TCP报头中的标志位于操控TCP的状态机。下面简单说说TCP报头中的标志位。
TCP中的三次握手和四次挥手
TCP(Transmission Control Protocol)是一种面向连接的可靠的传输协议。TCP连接的建立和释放过程可由下图表示:
c#:关于socket.Receive是否阻塞的问题
最近socket调查一个bug的时候,发现一个“问题”。在c#中调用socket.Receive(buff)
的时候,并没有阻塞当前线程,而是直接返回。
Socket通信浅析
定义
Socket通信是计算机网络中一种重要的数据交换的方式。维基百科对socket定义如下:
在操作系统中,通常会为应用程序提供一组应用程序接口(API),称为套接字接口(英语:socket API)。应用程序可以通过套接字接口,来使用网络套接字,以进行数据交换。最早的套接字接口来自于4.2 BSD,因此现代常见的套接字接口大多源自Berkeley套接字(Berkeley sockets)标准。在套接字接口中,以IP地址及通信端口组成套接字地址(socket address)。远程的套接字地址,以及本地的套接字地址完成连接后,再加上使用的协议(protocol),这个五元组(five-element tuple),作为套接字对(socket pairs),之后就可以彼此交换数据。例如,在同一台计算机上,TCP协议与UDP协议可以同时使用相同的port而互不干扰。 操作系统根据套接字地址,可以决定应该将数据送达特定的进程或线程。
WPF自定义控件和依赖项属性浅析
博客迁移记录
这几天将博客的主题换成了next。本来使用的是yilia主题,后来发现渲染有序列表会出现换行的问题,同时yilia已经放弃维护了,next主题也很不错,果断换之。使用hexo框架换个主题简直不要太简单,就不多说了。本文是简单记录下博客迁移的过程。
如何删除github敏感文件
onion architecture
传统的三层架构中数据位于最核心的地方,而洋葱模型将一些UI,DB这些最可能经常要变化的东西放在外圈,同时外圈的layer依赖于里圈的东西。
blog plan
最近打算将onenote上的一些笔记,整理整理上传到博客中,正好熟悉熟悉下markdown的语法。打算一周两篇的量吧。
2018-new-year
2018年上班第一天。