随笔分类 - 网络编程
摘要:建立连接后,两台主机就可以相互传输数据了。如下图所示: 上图给出了主机A分2次(分2个数据包)向主机B传递200字节的过程。首先,主机A通过1个数据包发送100个字节的数据,数据包的 Seq 号设置为 1200。主机B为了确认这一点,向主机A发送 ACK 包,并将 Ack 号设置为 1301。 此时
阅读全文
摘要:建立连接非常重要,它是数据正确传输的前提;断开连接同样重要,它让计算机释放不再使用的资源。如果连接不能正常断开,不仅会造成数据传输错误,还会导致套接字不能关闭,持续占用资源,如果并发量高,服务器压力堪忧。 建立连接需要三次握手,断开连接需要四次握手,可以形象的比喻为下面的对话: [Shake 1]
阅读全文
摘要:TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接。 客户端在收发数据前要使用 connect() 函数和服务器建立连接。建立连接的目的是保证IP地址、端口、物理链路等正确无
阅读全文
摘要:很幽默的讲解六种Socket I/O模型 本文简单介绍了当前Windows支持的各种Socket I/O模型,如果你发现其中存在什么错误请务必赐教。 一:select模型 二:WSAAsyncSelect模型 三:WSAEventSelect模型 四:Overlapped I/O 事件通知模型 五:
阅读全文
摘要:很少有人关心字节顺序(Byte Ordering),因为它真的很少用到。何为字节顺序呢?让我们先来看一个例子,假设现在有一个WORD类型的变量,它的值为0x7788,那么它在内存中是怎么存放的呢? 内存中: 低地址 高地址 0x77 0x88 高地址 低地址 0x77 0x88 事实上,对于不同的C
阅读全文
摘要:几种winsock I/O模型的分析 套接字是通信的基础,是支持网络协议数据通信的基本接口。Winsocket 提供了一些有趣的I/O模型,有助于应用程序通过一种“异步”方式,一次对一个或者多个套接字上进行的通信加以管理。这些模型包括select(选择)、WSAAsynSelect(异步选择)、WS
阅读全文
摘要:1.IOCP 2.使用IOCP 1)创建完成端口CreateIoCompletionPort; 2)向完成端口添加管理句柄与管理用户数据; 3)异步发送一个管理的事件请求; 4)开启工作线程来处理IOCP在socket返回的事件,让工作线程等待在IOCP上,一旦有事件完成,IOCP会唤醒它上面的这个
阅读全文
摘要:一.websocket接收数据 1)固定字节(1000 0001或1000 0010); 区分是否是数据包的一个固定字节(占1个字节) 2)包长度字节,第1位是1, 剩下7为得到一个整数(0,127);125以内的长度直接表示就可以了;126表示后面两个字节表示大小,127表示后面的8个字节是数据的
阅读全文

浙公网安备 33010602011771号