socket_win
mandytong
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
socket通信之可靠和不可靠的原理
socket通信之可靠和不可靠的原理 分类: socket通信 2014-02-23 23:42 1479人阅读 评论(0) 收藏 举报 目录(?)[+]TCP可靠UDP不可靠的实现socket阻塞与非阻塞同步与异步的区转载 2015-06-24 19:54:51 · 795 阅读 · 0 评论 -
IOCP相关的一些总结
1:在IOCP中投递WSASend返回WSA_IO_PENDING的时候,表示异步投递已经成功,但是稍后发送才会完成。这其中涉及到了三个缓冲区。网卡缓冲区,TCP/IP层缓冲区,程序缓冲区。情况一:调用WSASend发送正确的时候(即立即返回,且没有错误),TCP/IP将数据从程序缓冲区中拷贝到TCP/IP层缓冲区中,然后不锁定该程序缓冲区,由上层程序自己处理。TCP/IP层缓冲区在网络合转载 2015-08-18 17:02:15 · 1213 阅读 · 0 评论 -
WSAIoctl 的SIO_GET_EXTENSION_FUNCTION_POINTER用法
Winsock2的其他供应商不一定会实现AcceptEx函数。同样情况也包括的其他Microsoft的特定APIs如TransmitFile,GetAcceptExSockAddrs以及其他Microsoft将在以后版本的windows里。在运行WinNT和Win2000的系统上,这些APIs在Microsoft提供的DLL(mswsock.dll)里实现,可以通过链接mswsock.lib或者通转载 2015-08-18 16:33:17 · 1698 阅读 · 0 评论 -
setsockopt、getsockopt详细介绍
本文只讲解socket编程中的 setsockopt、getsockopt两个函数。关于其它函数的介绍可以参考下面链接:http://blog.sina.com.cn/s/blog_a459dcf5010155nf.html 一、 int PASCAL FAR setsockopt( SOCKET s, int level, int optname, const char FAR* opt转载 2015-09-01 10:42:23 · 506 阅读 · 0 评论 -
IOCP服务器开发常见问题
IOCP的工作线程的个数一般设置为processors *2+2,这是综合考虑了工作线程可能是等待/挂起/正在执行的状态。如果你测试出更好的结果,以你的为标准。IOCP的工作线程由系统调度和优化,不要去干预线程的调度,除非你自信能超越系统的调度。在遇到奇怪的问题时,可以尝试减少IOCP工作线程数量,来定位问题所在。应用层在处理收到的数据时,尽快将数据处理掉或是拷贝一份,避免转载 2015-08-17 17:25:56 · 591 阅读 · 0 评论 -
IOCP知识点及疑惑
原文地址:http://hzdiy.iteye.com/blog/7781942. IOCP发送大数量的问题 有A,B两块数据,如AB两块数据,如果A数据比较大,异步只发送了一部分就返回了,B数据已经提交,¬这时候再发A剩下的部分就乱顺序了 ,该如何处理。 所有重叠操作可确保按照应用程序投递的顺序执行. 然而, 不能确保从完成端口返回的完成通知也按照上述顺序执行". 由此可见, "操作转载 2015-08-14 15:49:52 · 1476 阅读 · 0 评论 -
Windows 经典的宏——CONTAINING_RECORD
在windows ddk中提供了一个经典的宏,其定义如下:#define CONTAININT_RECORD(address, type, field) / ((type*)((PCHAR)(address) - (PCHAR)(&((type*)0)->field)))这个宏用于取得内存中任何结构体的首地址,要提供的参数是:结构体中某个成员(field)的地址转载 2015-08-13 11:13:18 · 633 阅读 · 0 评论 -
listen()函数中backlog参数分析
Unix网络编程描述如下:总结0. accept()函数不参与三次握手,而只负责从已建立连接队列中取出一个连接和sockfd进行绑定;1. backlog参数决定了未完成队列和已完成队列中连接数目之和的最大值(从内核角度看,是否这个和就是等于sock->recv_queue ?);2. accept()函数调用,会从已连接队列中取出一个“连接”(可以是一个描述连接的转载 2015-06-29 18:58:38 · 398 阅读 · 0 评论 -
设置SOCKET的发送与接收缓冲区
主 题: 浅析:setsockopt()改善程序的健壮性 作 者: gdy119 (夜风微凉) 不断的收到coolmei25 (梅生)的答谢,我都不好意思了(我都没帮到他),下面写出我在网络编程中的一点心得体会,希望对他(^_^也对大家)有帮助:1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用closesocket(一转载 2015-06-24 19:32:51 · 4899 阅读 · 0 评论 -
tcp窗口滑动以及拥塞控制
TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现。一、滑动窗口协议 关于这部分自己不晓得怎么叙述才好,因为理解的部分更多,下面就用自己的理解来介绍下TCP的精髓:滑动窗口协议。 所谓滑动窗口协议,自己理解有两点:1. “窗口”对应的是一段可以被发送者发送的字节序列,其连续的范围称之为“窗口”;转载 2015-06-24 15:11:08 · 350 阅读 · 0 评论 -
Windows SOCKET 缓存/缓冲区 相关了解 (socket好文)
Windows NT和Windows 2000的套接字架构对于开发大响应规模的Winsock应用程序而言,对Windows NT和Windows 2000的套接字架构有基本的了解是很有帮助的。与其他操作系统不同的是,WinNT和Win2000的传输协议层并不直接给应用程序提供socket风格的接口,不接受应用程序的直接访问。而是实现了更多的通用API,称为传输驱动接口(Transport转载 2015-06-24 15:11:44 · 7946 阅读 · 0 评论 -
神秘的40毫秒延迟与 TCP_NODELAY
最近的业余时间几乎全部献给 breeze 这个多年前挖 下的大坑—— 一个异步 HTTP Server。努力没有白费,项目已经逐渐成型了, 基本的框架已经有了,一个静态 文件模块也已经实现了。写 HTTP Server,不可免俗地一定要用 ab 跑一下性能,结果一跑不打紧,出现了一个困扰了我好几天的问题:神秘的 40ms 延迟。Table of Contents转载 2015-08-18 17:32:51 · 526 阅读 · 0 评论
分享