网络编程中TCP、UDP的发送缓冲区问题(转)
摘要:(一)基础知识
IPv4 数据报最大大小是65535(16位),包括IPv4头部。
IPv6 数据报最大大小是65575,包括40个字节的IPv4头部
MTU,这是由硬件规定的,如以太网的MTU是1500字节,IPv4要求最小MTU是68字节,IPv6要求最小MTU是576字节
path MTU: 指两台主机间的路径上最小MTU
分片(fragmentation):指ip数据报大小超过相应链路的MTU,IPv4和IPv6都将对ip数据进行分片,到达目的主机后进行重组。
IPv4头部的DF位用于设置分片还是不分片
MSS:最大分节大小,向对方TCP通告被通告方在每个分节中能发送的最大TCP数据量。MSS的目的是告诉对方其重组缓冲区大小的实际值,从而避免分片。
阅读全文
python 线程,GIL 和 ctypes(转)
摘要:python 线程,GIL 和 ctypes
1 GIL 与 Python 线程的纠葛
GIL 是什么东西?它对我们的 python 程序会产生什么样的影响?我们先来看一个问题,
运行下面这段 python 程序,CPU 占用率会到多少:
阅读全文
详解C#中委托、事件和回调函数(转)
摘要:.Net编程中最经常用的元素,事件必然是其中之一。无论在ASP.NET还是WINFrom开发中,窗体加载(Load),绘制(Paint),初始化(Init)等等。
“protected void Page_Load(object sender, EventArgs e)”这段代码相信没有人不熟悉的。细心一点一定会发现,非常多的事件方法都是带了“object sender, EventArgs e”这两个参数。这是不是和委托非常相似呢?
阅读全文
C#、VS2010入门笔记
摘要:最经工作需要用.Net做winform程序,以前因为个人对windows的东西不太感冒,就接触很少,但是为了生活也没办法,多学习一样技术也没坏处。
C#语法跟C++和java非常类似,从变量定义、语句、循环、名字空间、异常处理等都很相似,有一定编程基础的只需要稍微了解一下就可以上手。我刚接触C#和VS没几天,几乎没学什么语法,通过百度(google上不去啊)一边查一边做,基本上可以做出一个简单的winform小程序来。微软把几乎所有的东西都封装好了,我只需要大致了解一下windows编程的思路,通过拖动控件和添加事件处理,就能做一个最基础的小软件。
下面就随手记录最近零星学的东西,以防以后忘记。
阅读全文