网络编程基础知识-通信模型

JerryXia 发表于 , 阅读 (1,824)
动手学习TCPc# UDP服务器一直对BIO、NIO、AIO不太理解,特别是阻塞与异步的区别。Google了一下,一篇文章中的4张图很形象的表述了4种IO模型的原理和区别,收藏一下。首先,贴一张表示四种IO模型的图:同步阻塞IO:同步非阻塞IO:异步阻塞IO:异步非阻塞IO:关于同步和异步的例子:老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。老张把水壶放到火上,立等水开。(同步阻塞) 老张觉得自己有点傻老张把水壶放到火上,去客厅看... 阅读全文

压缩Asp.Net的响应流节省带宽

JerryXia 发表于 , 阅读 (1,972)
现在,我们实现一个HttpModule来压缩Asp.Net的响应流,下面是代码示例using System; using System.IO; using System.IO.Compression; using System.Globalization; using System.Web; public class JsonCompressionModule : IHttpModule { public JsonCompressionModule() { } ... 阅读全文

网络编程基础 -- Socket:流,TCP连接,TCP可靠性概述

JerryXia 发表于 , 阅读 (2,034)
如前文所说,不同类型的Socket与不同类型的底层协议族以及同一协议族中的不同协议相关联。而我想说的主要就是TCP/IP协议族中的内容。现在TCP /IP协议族中的主要socket类型为"流套接字(stream socket)"和"数据报套接字(datagram socket)"。如果类比到现实中 stream socket类似于打电话沟通,datagram socket类似于写信沟通。当然,其他协议族当然也有相应的stream socket和datagram socket。我学习的时候喜... 阅读全文

网络编程基础 -- 分组报文,协议和Socket的概念

JerryXia 发表于 , 阅读 (2,066)
信息是指由程序创建和建设的“字节序列”。在网络环境中,这些字节序列被称作“分组报文”。一组报文包括了网络用来完成工作的控制信息,还包括了数据信息。协议相当于互相通信的程序(进程间通信)间达成的一种约定,它规定了分组报文的交换方式和它们包含的含义。一组协议规定了以下信息:结构。 比如报文中哪一部分表明了其目的地址。解析。如何对报文中所包含的信息进行解析。设计一组协议,通常是为了在一定约束条件下解决某一特定问题。比如,超文本传输协议http是为了解决在服务期间传递超文本对象的问题。网络层:网络... 阅读全文

网络编程基础 -- 字节和字符,对信息进行编码

JerryXia 发表于 , 阅读 (1,906)
TCP/IP 协议以字节的方式传输用户数据,并没有对其进行检查和修改。这个特点使得应用程序可以非常灵活地对其中传输的信息进行编码。TCP/IP的唯一约束是,信 息必须在块(chunk)中发送和接收,而块的长度必须是8位的倍数。而字节正好是8位的,因此我们可以认为在TCP/IP协议中传输的信息是字节序列。 鉴于此,我们可以进一步把传输的信息看做数字序列或数组,每个数字的取值范围是0~255(8位)。应用程序协议:明确定义了信息的发送者应该怎样排列和解释这些位序列(bit sequence),... 阅读全文

网络开发工具

JerryXia 发表于 , 阅读 (2,161)
开发clumsy 降低本地网速net-speeder 在高延迟不稳定链路上优化单线程下载速度tomorrow-thememonodevelop-colors-tomorrow-themegenerate c# classes from jsonJSON C# Class Generator系统CronHub 任务调度系统网盘备份Dropbox-Uploaderbaidupan爬虫项目distribute_crawler 阅读全文