【网络编程】
Ailoverer
这个作者很懒,什么都没留下…
展开
-
输入4字节整数,输出IPv4地址
这里有个隐含假设,即,整数也是用四字节表示的。这样的假设下,四字节IP地址和整数在内存中无差别。比如:#include typedef struct IPAddr_{ unsigned char a; unsigned char b; unsigned char c; unsigned char d;}IPAddr_t;typedef union u_{ int x;转载 2013-03-26 13:35:28 · 1849 阅读 · 0 评论 -
MFC使用HttpGet和HttpPost方法与服务器通信
处理过程封装到CHttpClient类中,同时支持http和httpsHttpClient.h[cpp] view plain copy //////////////////////////////////// HttpClient.h #ifndef HTTPCLIENT_H #define HTTPCLIE转载 2016-05-20 17:55:32 · 3994 阅读 · 0 评论 -
IOCP模型与网络编程
复习下IOCP相关知识,很详细,不错!转载 2016-05-31 13:17:51 · 522 阅读 · 0 评论 -
RTSP协议
因为项目需要,学习了一下RTSP协议,为了防止以后忘记,就把学习过程和成果记载下来。期间参考了一些网上的资料,并分析了VLC的RTSP报文。 RTSP(Real Time Streaming Protocol,实时流协议),是由Real Network和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一种可扩展的框架,能够提供可控制的,按需 传输的转载 2015-01-27 09:49:47 · 692 阅读 · 0 评论 -
RTSP协议详解
http://blog.csdn.net/chenyanxu/article/details/2728427关于 RTSP.RTSP协议是一个非常类似HTTP协议的流控制协议。它们都使用纯文本来发送信息,而且rtsp协议的语法也和HTTP类似。Rtsp一开始这样设计,也是为了能够兼容使用以前写的HTTP协议分析代码 。这是个好消息。它们主要的区别是HTTP协议是没有状态的, htt转载 2015-01-27 10:10:40 · 1162 阅读 · 0 评论 -
【兴趣爱好】之:ACE介绍
ACE(Adaptive Communication Environment)是一个跨平台的用于并发通信的C++框架。ACE提供了丰富的可重用的C++封装器(Wrapper Facade)和框架组件。使用ACE,开发者可以开发出高性能、实时的通信服务和应用。ACE利用进程间通信、事件分离、动态链接和并发技术简化了面向对象的网络开发。ACE的总体结构如图1-1所示(来自ACE官方网站)。转载 2013-11-07 10:58:54 · 1300 阅读 · 0 评论 -
【兴趣爱好】之:Boost.Asio和ACE之间关于Socket编程的比较
ACE是一个很成熟的中间件产品,为自适应通讯环境,但它过于宏大,一堆的设计模式,架构是一层又一层,对初学者来说,有点困难。 ASIO是基本Boost开发的异步IO库,封装了Socket,简化基于socket程序的开发。最近分析ASIO的源代码,让我无不惊呀于它设计。在ACE中开发中的内存管理一直让人头痛,ASIO的出现,让我看到新的曙光,成为我新的好伙伴。简单地与ACE做个比较。转载 2013-11-07 11:12:36 · 1063 阅读 · 0 评论 -
Web Service和Web server
Web服务是一组集自包含、自描述、模块化的应用程序,是可以在网络中被描述、发布、查找以及调用的面向服务的分布式计算模式。学术界从不同的侧面出发有不同的定义,其中比较有代表性的定义有:(1) 从提供服务的角度,Web服务是一组集自包含、自描述、模块化的应用程序,是可以在网络中被描述、发布、查找以及调用的面向服务的分布式计算模式。(2) 从功能的角度,Web服务是基转载 2014-05-22 16:42:36 · 957 阅读 · 0 评论 -
纯C++的Socket访问Http封装类
纯C++的Socket访问Http封装类1.项目中要使用c++++来访问Web服务器,从网上找了个C++的封装类,其中调用了MFC,在VC2005上用能用,但是移植到VC2003就出问题了,干脆修改成了纯C++的,不敢独享,share之。2.以下是调用方法:#include "stdafx.h" #include #in转载 2014-03-13 14:49:51 · 2119 阅读 · 0 评论 -
【IOS网络通信】socket第三方库 AsyncSocket(GCDAsyncSocket)
Socket描述了一个IP、端口对。它简化了程序员的操作,知道对方的IP以及PORT就可以给对方发送消息,再由服务器端来处理发送的这些消息。所以,Socket一定包含了通信的双发,即客户端(Client)与服务端(server)。1)服务端利用Socket监听端口;2)客户端发起连接;3)服务端返回信息,建立连接,开始通信;4)客户端,服务端断开连接。转载 2013-11-21 17:29:08 · 45921 阅读 · 6 评论 -
【IOS网络编程】socket编程 - Asyncsocket
iPhone的标准推荐是CFNetwork 库编程,其封装好的开源库是 cocoa AsyncSocket库,用它来简化CFNetwork的调用,它提供了异步操作 主要特性有: 队列的非阻塞的读和写,而且可选超时。你可以调用它读取和写入,它会当完成后告知你自动的socket接收。如果你调用它接收连接,它将为每个连接启动新的实例,当然,也可以立即关闭这些连接委转载 2013-11-21 17:26:50 · 24578 阅读 · 4 评论 -
Web Service的IOS应用
本教程是来自于http://www.raywenderlich.com/2965/how-to-write-an-ios-app-that-uses-a-web-service。我很喜欢这个网站的教程,所以翻译过来,并进行了概括,以方便以后回顾。适合有一定的基础的开发人员,快速实施。如果是初学者,那么请看原文链接,讲的很详细。 一、 前期准备工作:转载 2013-09-18 11:13:41 · 728 阅读 · 0 评论 -
WebService概述
作者:Alexis 出处:http://www.cnblogs.com/alexis/ 关于作者:专注于Windows Phone 7、Silverlight、Web前端(jQuery)。本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过shuifengxuATgmail.com 联系我,非常感谢。转载 2013-09-18 14:57:41 · 747 阅读 · 0 评论 -
【IOS网络通信】Mac&IOS Socket编程
转自 https://github.com/kejinlu/objc-doc/blob/master/Socket%E7%BC%96%E7%A8%8B.md 大纲一.Socket简介二.BSD Socket编程准备1.地址2.端口3.网络字节序4.半相关与全相关5.网络编程模型三.socket接口编程示例四.使用select五.使转载 2013-11-20 11:17:45 · 8108 阅读 · 1 评论 -
TCP(面向连接)的socket编程
基于TCP(面向连接)的socket编程,分为客户端和服务器端。客户端的流程如下:(1)创建套接字(socket)(2)向服务器发出连接请求(connect)(3)和服务器端进行通信(send/recv)(4)关闭套接字服务器端的流程如下:(1)创建套接字(socket)(2)将套接字绑定到一个本地地址和端口上(bind)(3)将套接字设为监听模式,准备接收客户转载 2013-06-27 12:00:06 · 3151 阅读 · 0 评论 -
setsockopt函数的用法
1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经历原创 2012-10-12 09:27:21 · 646 阅读 · 0 评论 -
send 和 WSASend性能比较
socket本身有一个send函数,这个函数的只能一次发送一个缓冲区,这对于在发送大量数据的时候或者数据包很多的时候就可能导致可能导致系统的低性能,主要原因在于调用太多次的send函数,导致从用户态到核心态的不断切换,而耗费了当前的CPU时钟周期。那么解决办法就是减少调用send的次数,一种办法就是使用一个大一点的BUFFER,在发送数据的时候将多个数据包的内容COPY到这个BUFFER中,然转载 2013-02-16 17:21:38 · 1114 阅读 · 0 评论 -
利用zlib库对HTTP收到的gzip数据解压
1、首先说为什么采用zlib解压,因为zlib可以解压内存数据。2、下载zlib库后,自己在projcts目录里面根据需要编译lib库3、静态链接只需要zlib.h ;zconf.h;zlib.lib三个文件即可(动态的不介绍了)4、解压函数:/* HTTP gzip decompress */int httpgzdecompress(Byte *zdata, uLong nzd原创 2016-05-20 18:04:12 · 6869 阅读 · 1 评论