计算机网络
li_jian_xing
这个作者很懒,什么都没留下…
展开
-
[转帖]IOCP配合AcceptEx的例子(2)
这是在学《Windows网络编程(第二版)》第六章时制作的一个例子由于书中没有给出简洁的例子,本人在学这里时就费了很多时间。现在把完成的代码贴出来,供大家参考。本程序在VS2003编译器编译运行。在6.0下可能需要稍加修改。DWORD WINAPI ServerThread(LPVOID lpParam){HANDLE CompletionPort = (HANDLE)lp转载 2013-09-13 18:06:59 · 737 阅读 · 0 评论 -
Socket编程中select()的妙用
来自:用过 WinSock API 网友们知道:WinSock 编程中有一很方便的地方便是其 息驱动机制,不管是底层 API 的 WSAAsyncSelect() 还是 MFC 的异步Socket类:CAsyncSocket,都提供了诸如 FD_ACCEPT、FD_RTAG: 华南网木棉站 (Tue Aug 4 15:43:41 1998),转载 2013-09-13 18:08:30 · 689 阅读 · 0 评论 -
Windows下两种iocp实现的差距
经典iocp实现(以下简称经典实现)多个io线程绑定在一个iocp上,这样内部管理了iocp队列的处理,内部决定是不是需要线程切换,我上次修改的一个版本(以下简称实现2),用了多个io线程,每个iocp队列仅绑定一个io线程,一组用户共享一个io线程,这和经典的多线程epoll模TAG: IOCP 完成端口 之前几天说过,因为经典iocp实现(以下简称经典实现转载 2013-09-13 18:09:44 · 1957 阅读 · 0 评论 -
Windows系统编程之异步I/O和完成端口
Windows系统编程之异步I/O和完成端口 在使用重叠I/O时,线程需要创建OVERLAPPED结构以供I/O处理。该结构中最重要的成员是hEvent,它是作为一个同步对象而存在,如果hEvent为NULL,那么此时的同步对象即为文件句柄、管道句柄等I/O操作对象。当I/O完成后,会使这里的同步对象受信,从而通知用户线程。TAG:转载 2013-09-13 18:15:41 · 563 阅读 · 0 评论 -
IOCP模型的总结
IOCP模型的总结 IOCP(I/O Completion Port,I/O完成端口)是性能最好的一种I/O模型。它是应用程序使用线程池处理异步I/O请求的一种机制。在处理多个并发的异步I/O 请求时,以往的模型都是在接收请求是创建一个线程来应答请求。这样就有很多的线程并行地运行在系统中。TAG: IOCP 完成端口转载 2013-09-13 18:14:34 · 557 阅读 · 0 评论 -
GetQueuedCompletionStatus的返回值
BOOL WINAPI GetQueuedCompletionStatus(__in HANDLE CompletionPort,__out LPDWORD lpNumberOfBytes,__out PULONG_PTR lpCompletionKey,__out LPOVERLAPPED *lpOverlapped,__in DWORD dwMilliseconds转载 2013-09-13 18:04:40 · 802 阅读 · 0 评论 -
Winsock完成端口编程与应用
本文将讨论如何通过Winsock2在Windows NT? 和 Windows 2000上开发高扩展能力的Winsock应用程序。文章主要的焦点在客户机/服务器模型的服务器这一方,当然,其中的许多要点对模型的双方都适用。TAG: IOCP 完成端口 并发 通常要开发网络应用程序并不是一件轻松的事情,不过,实际上只要掌握几个关键的原则也就可以了——创建转载 2013-09-13 18:13:05 · 679 阅读 · 0 评论 -
Windows 完成端口编程
jackyhwei 发布于 2010-07-31 02:12 点击:600次 完成端口—是一种WINDOWS内核对象。完成端口用于异步方式的重叠I/0情况下,当然重叠I/O不一定非使用完成端口不可,还有设备内核对象、事件对象、告警I/0等。TAG: IOCP 完成端口 1 基本概念设备—windows操作系统上允许通信的任何东转载 2013-09-13 18:13:45 · 619 阅读 · 0 评论 -
IOCP配合AcceptEx的例子(1)(2006-7-2 14:33:00)
这是在学《Windows网络编程(第二版)》第六章时制作的一个例子由于书中没有给出简洁的例子,本人在学这里时就费了很多时间。现在把完成的代码贴出来,供大家参考。下面包括了主程序部分,工作线程在(2)中贴出,由于代码太长。本程序在VS2003编译器编译运行。在6.0下可能需要稍加修改。#include #include #include #include转载 2013-09-13 18:03:27 · 649 阅读 · 0 评论 -
ICOP的一些结论 -- 仅是我的实践结论
ICOP的一些结论 -- 仅是我的实践结论 来自:网络博客本文主要表述ICOP使用中的一些结论 -- 但仅仅是我的实践结论,不一定正确,仅供大家参考。TAG: 心得 IOCP 对同一个连接连续调用多次WSASend是安全的,不需要等到前一个WSASend的操作完成,数据将按调用WSASend的调用顺序发送(当转载 2013-09-13 18:18:11 · 1048 阅读 · 0 评论 -
Visual C++制作一个Sniffer实例
Sniffer是网络中一种常见的嗅探技术。对于网络管理员而言,他可以利用Sniffer来获取相关的网络流量情况进而发现一些潜在的网络性能或者安全问题;而对于黑客而言,Sniffer则能够帮助他得到一些重要的数据诸如用户名和密码或者其他的商业机密。Sniffer工作在用户看不见也注意不到的网络底层,隐蔽性极强,如被非法利用将会造成极大的危害,而利益受损的用户可能还浑然不觉。 为了使读者对S转载 2014-02-18 17:21:07 · 716 阅读 · 0 评论 -
curl教程
原文地址:http://curl.haxx.se/libcurl/c/libcurl-tutorial.html 译者:JGood(http://blog.csdn.net/JGood ) 译者注:这是一篇介绍如何使用libcurl的入门教程。文档不是逐字逐句按原文翻译,而是根据笔者对libcurl的理解,参考原文写成。文中用到的一些例子,可能不是出自原文,而是笔者在学转载 2015-07-11 12:02:37 · 640 阅读 · 0 评论 -
setsockopt()用法(参数详细说明)
int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen);s(套接字): 指向一个打开的套接口描述字level:(级别): 指定选项代码的类型。SOL_SOCKET: 基本套接口IPPROTO_IP: IPv4套接口IPPROTO_IPV6: IPv6套接口转载 2013-09-13 12:01:47 · 593 阅读 · 0 评论 -
HTTP协议 (六) 状态码详解
HTTP状态码,我都是现查现用。 我以前记得几个常用的状态码,比如200,302,304,404, 503。 一般来说我也只需要了解这些常用的状态码就可以了。 如果是做AJAX,REST,网络爬虫,机器人等程序。还是需要了解其他状态码。 本文我花了一个多月的时间把所有的状态码都总结了下,内容太多,看的时候麻烦耐心点了。HTTP状态码的学习资料到处都有,但是都是理论上讲解。 本文介绍HTT转载 2013-08-02 18:20:12 · 440 阅读 · 0 评论 -
iocp
http://laokaddk.blog.51cto.com/blog/368606/610780IOCP相关的一些总结1:在IOCP中投递WSASend返回WSA_IO_PENDING的时候,表示异步投递已经成功,但是稍后发送才会完成。这其中涉及到了三个缓冲区。 网卡缓冲区,TCP/IP层缓冲区,程序缓冲区。 情况一:调用WSASend发送正确的时候(即立即返回,且没有错误),TCP/I转载 2013-07-23 11:41:15 · 1635 阅读 · 0 评论 -
HTTP请求、响应、缓存
目录(?)[+]1. HTTP请求格式 做过Socket编程的人都知道,当我们设计一个通信协议时,“消息头/消息体”的分割方式是很常用的,消息头告诉对方这个消息是干什么的,消息体告诉对方怎么干。HTTP协议传输的消息也是这样规定的,每一个HTTP包都分为HTTP头和HTTP体两部分,消息体是可选的,而消息头是必须的。每当我们打开一个网页,在上面点转载 2013-08-02 18:08:26 · 730 阅读 · 0 评论 -
HTTP协议详解
当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获HTTP Request和HT转载 2013-08-02 18:14:26 · 492 阅读 · 0 评论 -
HTTP协议 (三) 压缩
之前写过一个篇 【HTTP协议详解】 ,这次继续介绍HTTP协议中的压缩。本文会使用Fiddler来查看HTTP request和Response, 如果不熟悉这个工具,可以先参考[Fiddler教程]HTTP压缩是指: Web服务器和浏览器之间压缩传输的”文本内容“的方法。 HTTP采用通用的压缩算法,比如gzip来压缩HTML,Javascript, CSS文件。 能大大减少网络传输的转载 2013-08-02 18:17:54 · 506 阅读 · 0 评论 -
HTTP协议 (四) 缓存
之前写过一个篇 【HTTP协议详解】 ,这次继续介绍HTTP协议中的缓存机制。HTTP协议提供了非常强大的缓存机制, 了解这些缓存机制,对提高网站的性能非常有帮助。 本文介绍浏览器和Web服务器之间如何处理"浏览器缓存",以及控制缓存的http header.本文会使用Fiddler来查看HTTP request和Response, 如果不熟悉这工具,可以先参考[Fiddler教程] 。在转载 2013-08-02 18:18:38 · 403 阅读 · 0 评论 -
HTTP协议 (二) 基本认证
http协议是无状态的, 浏览器和web服务器之间可以通过cookie来身份识别。 桌面应用程序(比如新浪桌面客户端, skydrive客户端)跟Web服务器之间是如何身份识别呢? 阅读目录什么是HTTP基本认证HTTP基本认证的过程HTTP基本认证的优点每次都要进行认证HTTP基本认证和HTTPS一起使用就很安全HTTP OAuth认证其他认证客户端的使用 什么是HTTP转载 2013-08-02 18:16:41 · 467 阅读 · 0 评论 -
HTTP协议 (五) 代理
之前写过一个篇 【HTTP协议详解】 ,这次介绍代理服务器, 代理服务器是HTTP协议中一个重要的组件, 发挥着重要的作用。 本文介绍一些HTTP代理服务器的概念和工作原理 阅读目录什么是代理服务器Fiddler就是个典型的代理代理作用一:翻墙代理作用二:匿名访问代理作用三:通过代理上网代理作用四:通过代理缓存,加快上网速度代理作用五:儿童过滤器IE代理设置:手动设置代理IE代理设转载 2013-08-02 18:19:22 · 599 阅读 · 0 评论 -
HTTP协议 (七) Cookie
Cookie是HTTP协议中非常重要的东西, 之前拜读了Fish Li 写的【细说Cookie】, 让我学到了很多东西。Fish的这篇文章写得太经典了。 所以我这篇文章就没有太多内容了。 最近我打算写一个系列的HTTP文章,我站在HTTP协议的角度, 说说我对Cookie的理解。 阅读目录Cookie是什么,有什么用,为什么要用到CookieCookie的分类Cookie存在哪转载 2013-08-02 18:20:44 · 700 阅读 · 0 评论 -
Fiddler (二) Script 用法
通过前一篇博客 【小坦克: Fiddler教程】,我们了解了Fiddler的基本用法, 现在我们来看看Fiddler的高级用法. Fiddler Script。 Fiddler中的script 可以让我们自动修改Http request和Response 的内容。 而不用手动地去下"断点"来修改http Request或Response中的值。 阅读目录Fiddler的转载 2013-08-02 18:22:13 · 490 阅读 · 0 评论 -
Fiddler (三) Composer创建和发送HTTP Request
之前已经写过两篇Fiddler的文章了,分别是【Fiddler教程】 【Fiddler script用法】。 我准备把Fiddler写成一个系列。Fiddler的功能还有很多, 很多功能都没有被挖掘出来。这次我们介绍Fiddler中的一个非常有用的功能Composer,是用来创建和发送HTTP Request的。Composer的使用方法很简单,看下就知道用了。 阅读目录转载 2013-08-02 18:22:48 · 573 阅读 · 0 评论 -
Fiddler 教程
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有很大的帮助。阅读目录Fiddler的基本介绍Fiddler的工作原理同类的其它工具Fiddler如何捕获Firefox的会话Firefox 中使用Fiddler插件Fiddler如何捕获HTT转载 2013-08-02 18:21:38 · 487 阅读 · 0 评论 -
C++ https 模拟登录CSDN
说来话长,C++ http这东西我早已玩过了,在之前我也尝试过https,无奈总是不成功,今天终于找到原因了,他妹的SSL下载的是阉割版本。 在此简单记录一下https登录csdn的过程1> get https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn2> utf-8 ->原创 2015-07-17 15:10:33 · 2710 阅读 · 1 评论