- 博客(28)
- 资源 (2)
- 收藏
- 关注
转载 Slow performance occurs when you copy data to a TCP server by using a Windows Sockets API program
Slow performance occurs when you copy data to a TCP server by using a Windows Sockets API programArticle ID: 823764 - View products that this article applies to.System TipThis article applie
2012-08-31 15:34:05 1032
转载 Which I/O Strategy Should I Use?
by Warren YoungThere are several different conventions for communicating with Winsock, and each method has distinct advantages. The question of the hour is, what are these advantages, and how does
2012-08-31 15:02:44 1602
转载 TCP RST: Calling close() on a socket with data in the receive queue
TCP RST: Calling close() on a socket with data in the receive queue Consider two peers, A and B, communicating via TCP. If B closes a socket and there is any data in B’s receive queue, B sends a
2012-08-31 10:47:03 911
转载 Socket编程中的强制关闭与优雅关闭及相关socket选项
以下描述主要是针对windows平台下的TCP socket而言。首先需要区分一下关闭socket和关闭TCP连接的区别,关闭TCP连接是指TCP协议层的东西,就是两个TCP端之间交换了一些协议包(FIN,RST等),具体的交换过程可以看TCP协议,这里不详细描述了。而关闭socket是指关闭用户应用程序中的socket句柄,释放相关资源。但是当用户关闭socket句柄时会隐含的触发TCP
2012-08-31 10:40:10 1158
转载 SOCKET编程中,select()函数的作用
select()在SOCKET编程中还是比较重要的,可是对于初学SOCKET的人来说都不太爱用select()写程序,他们只是习惯写诸如 conncet()、accept()、recv()或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用select()就可以完
2012-08-31 09:34:34 7822
转载 INADDR_ANY 的意义及TCP/UDP在此处的不同
socket INADDR_ANY 监听0.0.0.0地址 socket只绑定端口让路由表决定传到哪个ip其中INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或“所有地址”、“任意地址”。一般情况下,如果你要建立网络服务器,则你要通知服务器操作系统:请在某地址 xxx.xxx.xxx.xxx上的某端口 yyyy上进行侦听,并且把侦听到的数据包发
2012-08-30 20:14:39 3611
原创 msdn:when to use udp
when sending smaller amounts of noncritical or repeatable data, use UDP as opposed to TCP to reduce the overhead associated with connection establishment and maintenance. If the same data must be sent
2012-08-30 20:01:05 570
转载 WSAEWOULDBLOCK错误
搜索了一下论坛里关于send时产生WSAEWOULDBLOCK时的处理办法,得出如下结论: 1.产生这个错误只是说明out buffer已经满了,不代表出错. 2.可以等待FD_WRITE消息,此时将没有发送完成的数据再次发送出去. 但还是有疑问,我的问题如下: 1.我上面的两条结论正确吗? 2.关于在FD_W
2012-08-30 19:27:32 2123
转载 HTTP General header:Trailer
Trailer常用头域值指明了在以块(chunked)传输编码消息里的尾部(trailer)里用到的头域。 Trailer = "Trailer" ":" 1#field-name一个http/1.1消息会包含一个Trailer头域,如果它利用了块(chunked)传输编码并且编码里的尾部(trailer)不为空。这样做是为了使接收端知道块(c
2012-08-30 18:17:13 5352
转载 HTTP协议详解
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协议的主要特点可概括如下:1.支持客户/服务器模式。
2012-08-30 17:37:16 1089
原创 vector:push_back时的对象构造
class CT{public:CT(){std::cout }~CT(){std::cout }CT(const CT &t){std::cout }};void main(){std::vector vec;CT t;vec.push_back(t);}两次CT(CT &
2012-08-30 14:05:48 2395
转载 HTTP/1.1 Range和Content-Range
假设你要开发一个多线程下载工具,你会自然的想到把文件分割成多个部分,比如4个部分,然后创建4个线程,每个线程负责下载一个部分,如果文件大小为403个byte,那么你的分割方式可以为:0-99 (前100个字节),100-199(第二个100字节),200-299(第三个100字节),300-402(最后103个字节)。 分割完成,每个线程都明白自己的任务,比如线程3的任务是负责下
2012-08-30 13:43:59 9809
转载 A Reusable Windows Socket Server Class With C++
A Reusable Windows Socket Server Class With C++ Contributed by Len Holgate 摘自:http://www.devarticles.com Ever thought of writing your own Windows socket server class? In this article Len shows y
2012-08-29 20:35:44 1006
转载 The C10K problem
如今的web服务器需要同时处理一万个以上的客户端了,难道不是吗?毕竟如今的网络是个big place了。 现在的计算机也很强大了,你只需要花大概$1200就可以买一个1000MHz的处理器,2G的内存, 1000Mbit/sec的网卡的机器。让我们来看看--20000个客户,每个为50KHz,100Kbyes和 50Kbit/sec,那么没有什么比为这两万个客户端的每个每秒从硬盘读取4千字节然
2012-08-29 20:28:57 1439
转载 再探Linux下的TCP延迟确认机制
前面有一文简单写了一下Linux下的延迟确认机制,但当时不求甚解,后来陆陆续续做又了一些分析,于是就有了这篇文章。案例一:某同事随手写个压力测试程序,其实现逻辑为:每秒钟先连续发N个132字节的包,然后连续收N个由后台服务回显回来的132字节包。其代码大致如下: 1: char sndBuf[132]; 2: char rcvBuf[132]; 3: whil
2012-08-29 18:12:56 1636
转载 设置SOCKET的发送与接收缓冲区 .
2011-01-18 10:55 2555人阅读 评论(1)收藏举报主 题: 浅析:setsockopt()改善程序的健壮性 作 者: gdy119 (夜风微凉) 不断的收到coolmei25 (梅生)的答谢,我都不好意思了(我都没帮到他),下面写出我在网络编程中的一点心得体会,希望对他(^_^也对大家)有帮助:1. 如果在已经处于 ESTABL
2012-08-29 15:20:01 3521
转载 Windows SOCKET 缓存/缓冲区 相关了解
对于开发大响应规模的Winsock应用程序而言,对Windows NT和Windows 2000的套接字架构有基本的了解是很有帮助的。与其他操作系统不同的是,WinNT和Win2000的传输协议层并不直接给应用程序提供socket风格的接口,不接受应用程序的直接访问。而是实现了更多的通用API,称为传输驱动接口(Transport Driver Interface,TDI).这些API把Win
2012-08-29 15:16:07 4374
转载 Negal算法
TCP_NODELAY 选项设置该选项: public void setTcpNoDelay(boolean on) throws SocketException 读取该选项: public boolean getTcpNoDelay() throws SocketException 默认情况下, 发送数据采用Negale 算法. Negale 算法是指发送方发送的数据不会立
2012-08-29 14:53:54 3421
转载 Delayed ACK
delayed ack algorithm也就是中所谓的"经受时延的确认"(翻译得真饶舌 = =||)。在RFC1122中提到delayed ack 的概念: " A host that is receiving a stream of TCP data segments can increase efficiency in both the Intern
2012-08-29 13:51:16 3048
转载 TCP/IP慢启动
为了防止网络的拥塞现象,TCP提出了一系列的拥塞控制机制。最初由V. Jacobson在1988年的论文中提出的TCP的拥塞控制由“慢启动(Slow start)”和“拥塞避免(Congestion avoidance)”组成,后来TCP Reno版本中又针对性的加入了“快速重传(Fast retransmit)”、“快速恢复(Fast Recovery)”算法,再后来在TCP NewReno中又
2012-08-29 13:39:05 1750
转载 汇编优化
Assembly Optimization Tips汇编优化提示【作者】:Mark Larson【翻译】:Dhuta暑假瞄了一些汇编优化的文章,感觉这篇有点意思。尽管英文水平不咋地,还是倔起牛劲翻译了下。肯定有不好的地方,大家海涵~英文原文附件给出~如果有什么错误还望批评指正~另外,如果admin感觉可以加精的话就麻烦下了~一段时间过去了,增加一点内容。《怎样优化Penti
2012-08-27 18:38:39 3101
转载 由12306.cn谈谈网站性能技术
酷壳网陈皓:由12306.cn谈谈网站性能技术发表于2012-01-17 09:51| 6459次阅读| 来源酷壳网| 42 条评论| 作者陈皓性能优化网站性能电子商务分布式存储web服务摘要:批量处理的技术,是把一堆基本相同的请求批量处理。比如,大家同时购买同一个商品,没有必要你买一个我就写一次数据库,完全可以收集到一定数量的请求,一次操作。这个技术可以用作很
2012-08-24 17:25:17 1758
转载 性能调优攻略
性能调优攻略发表于2012-06-21 10:23| 3936次阅读| 来源CollShell| 1 条评论| 作者陈皓性能优化web开发http服务器优化性能摘要:关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方
2012-08-24 17:05:21 1189
转载 CBW、CWDE、CDQ、CWD: 扩展指令
CBW、CWDE、CDQ、CWD: 扩展指令;CBW(Convert Byte to Word): 将 AL 扩展为 AX;CWDE(Convert Word to Extended Double): 将 AX 扩展为 EAX;CDQ(Convert Doubleword to Quadword): 将 EAX 扩展为 64 位数 EDX:EAX;CWD
2012-08-24 15:39:20 20674
转载 汇编语言中PTR的含义及作用
mov ax,bx ;是把BX寄存器“里”的值赋予AX,由于二者都是word型,所以没有必要加“WORD” mov ax,word ptr [bx];是把内存地址等于“BX寄存器的值”的地方所存放的数据,赋予ax。由于只是给出一个内存地址,不知道希望赋予ax的,是byte还是word,所以需要用word明确指出!所以,当两个操作数的宽度不一样时,就要用到ptr。也就是说
2012-08-14 10:29:40 1562
原创 C++与汇编
1.指针 任何指针对汇编而言都是一样的,只不过在操作的时候才有区别 mov byte ptr [eax],2 mov dword ptr [ecx],4019999Ah 2.指针和引用汇编层是一样的004012FB lea ecx,[ebp-4] 004012FE push
2012-08-13 18:12:05 628
转载 CMP指令详解
刚刚看到了cmp指令,一开始有点晕。后来上网找了些资料,终于看明白了,为了方便初学者,我就简单写下我的思路吧。高手绕过,谢谢!cmp(compare)指令进行比较两个操作数的大小例:cmp oprd1,oprd2为第一个操作减去第二个操作数,但不影响第两个操作数的值它影响flag的CF,ZF,OF,AF,PF我们怎么判断大小呢?若执行指令后
2012-08-11 17:50:40 26842 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人