Windows网络编程
文章平均质量分 90
GamebabyRockSun_QQ
曾经拥有的,不要忘记,
已经得到的,更要珍惜,
属于自己的,不要放弃,
已经失去的,留着回忆,
想要得到的,必须努力,
但最重要的,是好好爱惜自己!
展开
-
开放本人早年的Windows核心编程的代码库——供引擎设计参考
除了GUI GDI之外,这里囊括了几乎所有的 Windows 功能的基础示例,这样做,首先是为了方便各位了解关于Windows 的所有基本 API;其次是为了方便各位在设计游戏引擎时对除了 DirectX 之外的功能有一个比较完整的功能参考列表,比如:多线程、多进程、内存管理、线程同步、文件系统、网络、XML等等,虽然这些功能都是 Windows 版的,但是现在几乎所有的操作系统都有这些对应的功能,并且在细节上也都很类似,因此在进行抽象设计时这也是一套不错的参考手册。原创 2022-11-08 19:23:32 · 983 阅读 · 2 评论 -
WinSock2 IP组播(多播)示例
#include #include #include #include #pragma comment( lib, "ws2_32.lib" )#define MCASTADDR "234.5.6.7"#define MCASTPORT 25000#define BUFSIZE 1024#define DEFAULT_COUNT 500BOOL bSender = FALSE,原创 2017-10-10 14:17:43 · 1361 阅读 · 2 评论 -
WinSock TCP keepalive的机理及使用(自动心跳包的发送)
TCP是面向连接的,在实际应用中通常都需要检测对端是否还处于连接中。如果已断开连接,主要分为以下几种情况: 1. 连接的对端正常关闭,即使用closesocket关闭连接。2. 连接的对端非正常关闭,包括对端异常关闭,网络断开等情况。对于第一种情况,很好判断,但是对于第二种情况,可能会要麻烦一些。在网上找到了一些文章,大致有以下两种解决方法:? 自己编写心跳包程序简单的说也...原创 2017-10-10 14:20:50 · 2860 阅读 · 0 评论 -
IOCP编程之重叠IO
其实这个标题有点“标题党”的味道,为了大家搜索方便我故意冠以IOCP编程之名,其实重叠IO编程并不一定需要IOCP,而IOCP编程就一定需要重叠IO。是不是已经被这句话给绕晕了?总之是为了更好的应用IOCP,所以要理解重叠IO。这篇文章的核心就是讨论重叠IO的来龙去脉。在很久很久以前,在用C语言写DOS程序的年代,就有了很完整的IO标准库支撑,printf输出字符到屏幕,fopen,fwrit...原创 2017-10-10 14:19:23 · 565 阅读 · 0 评论 -
IOCP+WinSock2新函数打造高性能SOCKET池
在前一篇文章《WinSock2编程之打造完整的SOCKET池 》中,介绍了WinSock2的一些新函数,并重点详细介绍了什么是SOCKET池,有了这个概念,现在就接着展开更深入的讨论。首先这里要重点重申一下就是,SOCKET池主要指的是使用面向连接的协议的情况下,最常用的就是需要管理大量的TCP连接的时候。常见的就是Web服务器、FTP服务器等。下面就分步骤的详细介绍如何最终实现SO...原创 2017-10-10 14:18:31 · 580 阅读 · 2 评论 -
WinSock2编程之打造完整的SOCKET池
在Winodows平台上,网络编程的主要接口就是WinSock,目前大多数的Windows平台上的WinSock平台已经升级到2.0版,简称为WinSock2。在WinSock2中扩展了很多很有用的Windows味很浓的SOCKET专用API,为Windows平台用户提供高性能的网络编程支持。这些函数中的大多数已经不再是标准的“Berkeley”套接字模型的API了。使用这些函数的代价...原创 2017-10-10 14:18:19 · 493 阅读 · 0 评论 -
IOCP编程之基本原理
在我的博客之前写了很多关于IOCP的“行云流水”似的看了让人发狂的文章,尤其是几篇关于IOCP加线程池文章,更是让一些功力不够深厚的初学IOCP者,有种吐血的感觉。为了让大家能够立刻提升内力修为,并且迅速的掌握IOCP这个Windows平台上的乾坤大挪移心法,这次我决定给大家好好补补这个基础。要想彻底征服IOCP,并应用好IOCP这个模型,首先就让我们穿越到遥远的计算机青铜器时代(以出现PC为...原创 2017-10-10 14:18:40 · 570 阅读 · 0 评论 -
Windows2008新IOCP线程池学习笔记
今天兴冲冲开始琢磨Windows2008新线程池中的IOCP部分新增的API的调用,也就是新的完成端口的调用方式,新的API如下:CancelThreadpoolIoCloseThreadpoolIoCreateThreadpoolIoStartThreadpoolIoWaitForThreadpoolIoCallbacks这几个函数其实从名字并不难理解其调用方...原创 2017-10-10 14:19:53 · 618 阅读 · 1 评论 -
【原创】IOCP编程之聚集散播
做为IOCP应用中重要的一个方法就是被称为“聚集-散播”的方法。非常遗憾的是在很多介绍IOCP使用的资料中,我几乎没有见过有专门介绍此方法的文章,因此本文就重点讲述此方法。在使用IOCP操作大量的TCP连接并处理IO请求的时候,一个很让我们头疼的事情就是所谓的“粘包”问题,即当发送方发送的数据包尺寸小于接收方缓冲,同时又连续发送数据的情况下,两个数据包被一起接收,接收端就需要将包重新拆分,如果...原创 2017-10-10 14:23:29 · 498 阅读 · 2 评论