最新

nodejs 异步回调

异步非阻塞 nodejs 的软肋是CPU密集型,但它适应IO密集型服务。事件驱动,异步非阻塞。个人理解,异步与非阻塞细分下来是两个概念。异步与同步强调的当前线程(或进程)的两个代码块执行是没有拓扑顺序的的;阻塞与非阻塞强调的是当前线程(或进程)的状态。在操作系统层面上来看,有五种网络模式方式可以进行I/O访问。(具体比较看这里) * 阻塞 I/O(blocking IO) * 非阻塞 I/O(nonblocking IO) * I/O 多路复用( IO multiplexing) * 信号驱动 I/O( signal driven IO) * 异步 I/O(asynchronous IO) 异步、非阻塞两种方式都可以实现 nodejs 的 I/O并行。

By chainhelen

golang proxy

先介绍几个概念 文件尾 linux系统有个重要的思想就是一切皆文件。 1. 普通文件:打开文件文件时程序能拿到文件操作符,当已经读取的数据等于文件本身大小时,返回一个EOF常量。 2. 标准文件:特殊字符判断文件尾,例如linux终端Ctrl+D。 3. socket流:被动关闭方接收主动接受方发送的FIN数据包时,被动接受方的数据会从系统那拿到一个ZERO值。 http协议 介绍http,网上太多了,就讲一个我遇到的坑。 package main import ( "fmt" "log" "net" ) func readFromConn(conn net.Conn) []byte { const HTTP_LEN = 20480 const BUF_LEN = 256 buf := make([]byte,

By chainhelen