随笔分类 - 网络编程
restfull和传统http的区别
摘要:摘自 https://bbs.csdn.net/topics/390716580 restfull是一种风格,不是规范,也不是所谓的封装,他只是将http协议用的更彻底了,我们在普通的开发中,虽然说是基于http的,但是http中很多东西我们都没有用到,比如http的put,delete提交方式,通
阅读全文
网络timeout区分
摘要:ConnectTimeout 连接建立时间,三次握手完成时间 SocketTimeout 数据传输过程中数据包之间间隔的最大时间 下面重点说下SocketTimeout,比如有如下图所示的http请求 虽然报文(“abc”)返回总共用了6秒,如果SocketTimeout设置成4秒,实际程序执行的时
阅读全文
HTTP访问控制(CORS)
摘要:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS
阅读全文
分布式环境下限流方案的实现redis RateLimiter Guava,Token Bucket, Leaky Bucket
摘要:业务背景介绍 对于web应用的限流,光看标题,似乎过于抽象,难以理解,那我们还是以具体的某一个应用场景来引入这个话题吧。 在日常生活中,我们肯定收到过不少不少这样的短信,“双11约吗?,千款….”,“您有幸获得唱读卡,赶快戳链接…”。这种类型的短信是属于推广性质的短信。为什么我要说这个呢?听我慢慢道
阅读全文
HttpClient Timeout
摘要:1. Overview This tutorial will show how to configure a timeout with the Apache HttpClient 4. If you want to dig deeper and learn other cool things you
阅读全文
SOAP协议初级指南 (三)
摘要:独立元素 在SOAP中, 一个独立元素表示至少被一个多引用存取元素引用的类型的实例。所有的独立元素用soap:id属性作标记,而且这个属性的值在整个SOAP envelope中必须是唯一的。独立的元素被编码就好象是它们被一个存取元素打包,这个存取元素的标记名是实例的名域限制的类型名。在上面的例子中,
阅读全文
SOAP协议初级指南 (二)
摘要:XML 作为一个更好的网络数据表达方式(NDR) HTTP是一个相当有用的RPC协议,它提供了IIOP或DCOM在组帧、连接管理以及序列化对象应用等方面大部分功能的支持。( 而且URLs与IORs和OBJREFs在功能上令人惊叹的接近)。HTTP所缺少的是用单一的标准格式来表达一个RPC调用中的参数
阅读全文
SOAP协议初级指南 (一)
摘要:SOAP(Simple Object Access Protocal) 技术有助于实现大量异构程序和平台之间的互操作性,从而使存在的应用能够被广泛的用户所访问。SOAP是把成熟的基于HTTP的WEB技术与XML的灵活性和可扩展性组合在了一起。 这篇文章带你全面回顾对象远程进程调用(ORPC)技术的历
阅读全文
HttpClient connectionTimeout
摘要:转自:http://www.cnblogs.com/carlosk/archive/2013/03/12/2956502.html 前几天服务器端的产品经理跑来问我是否有做请求超时和响应超时的处理。我一脸迷茫,直接就说:我做了开发这么久,从不知道什么是请求超时什么是响应超时。 后来我静下来仔细想想,
阅读全文
httpClient-3.1学习笔记
摘要:http://hc.apache.org/httpclient-3.x/tutorial.htmlThe general process for using HttpClient consists of a number of steps: Create an instance of HttpCli
阅读全文
HTTP Header 详解
摘要:HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议。HTTP协议采用了请求/响应模 型,浏览器或其他客户端发出请求,服务器给与响应。就整个网络资源传输而言,包括message-header和message-body两部分。首先传 递message
阅读全文
hostent结构体和wsadata结构体
摘要:一.hostent结构体使用这个东西,首先要包含2个头文件:#include #include struct hostent *gethostbyname(const char *name);这个函数的传入值是域名或者主机名,例如" www.google.com","wpc "等等。传出值,是一个h...
阅读全文
socket 连接,使得地址马上可以重用
摘要:/* 使地址马上可以重用 */ int nRet = 1; if(SOCKET_ERROR==setsockopt(m_ls...
阅读全文
shutdown 和closesocket
摘要:来,咱们彻底的来讨论一下这个shutdown 和closesocket从函数调用上来分析(msdn):一旦完成了套接字的连接,应当将套接字关闭,并且释放其套接字句柄所占用的所有资源。真正释放一个已经打开的套接字句柄的资源直接调用closesocket即可,但要明白closesocket的调用可能会...
阅读全文
IP地址转换成Long型数字的算法
摘要:在应用程序开发中,涉及到IP地址的存储,大部分开发人员都将其存为String(或文本类型)。能否将固定格式为m.n.x.y的IP地址转换成 Long型的数字呢?答案是肯定的。在数据库层面,可以直接将结果设置成表的主键,避免IP地址的重复,因为是主键,也就是表的索引了,数据库查找时会更 快。对于格式为...
阅读全文
WSAStartup( )
摘要:这里用通俗的语言解释一下这个函数,就类似于opencv一样,要添加链接库函数,cv.lib等,要添加到附加依赖项,或者通过#pragma comment(lib,”cv.lib“)一样,然后才能包含头文件进行各种函数的调用。当然了,socket编程要调用各种socket函数,但是需要库Ws2_32...
阅读全文
关于完成端口IOCP异步接收连接函数AcceptEx注意事项
摘要:AcceptEx方法有一个参数dwReceiveDataLength,指明了在收到连接后是否需要收到第一包数据才返回。需要注意的是,如果dwReceiveDataLength=0,则当接收到一个连接后立即返回,如果dwReceiveDataLength不等于0,则在接收到连接后,必须等到客户端发来第...
阅读全文
setsockopt的作用列表
摘要:功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示...
阅读全文
setsockopt的作用
摘要:之前一直没明白setsockopt的作用。原来是用来设置socket的属性。setsockopt设置SO_REUSEADDR。socket关闭之后并不会立即收回,而是要经历一个TIME_WAIT的阶段。windows下最多可以达到4分钟。所以在这个时候对这个端口进行重新绑定就会出错。所以需要先设置S...
阅读全文
GetQueuedCompletionStatus的返回值
摘要:完成端口GetQueuedCompletionStatus返回值的问题先看看GetQueuedCompletionStatus函数的完整声明:BOOL GetQueuedCompletionStatus(HANDLE CompletionPort, LPDWORD lpNumberOfBytes, ...
阅读全文