- 博客(4)
- 收藏
- 关注
原创 windows 程序崩溃生成dmp文件
在程序的main函数第一句,加上DeclareDumpFile();。这样程序在崩溃时,会先创建dmp文件,文件名由GUID命名。同时,记录一个多线程环境生成多份dmp文件的场景。引用MSDN:SetUnhandledExceptionFilterThe SetUnhandledExceptionFilter function enables an application to supersede
2015-10-13 16:57:15
4287
转载 使用IOCP需要注意的一些问题~~(不断补充)
1- 不要为每个小数据包发送一个IOCP请求,这样很容易耗尽IOCP的内部队列.....从而产生10055错误.2- 不要试图在发送出IOCP请求之后,收到完成通知之前修改请求中使用的数据缓冲的内容,因为在这段时间,系统可能会来读取这些缓冲. 3- 为了避免内存拷贝,可以尝试关闭SOCKET的发送和接收缓冲区,不过代价是,你需要更多的接收请求POST到一个数据流量比较大的SOCKE
2015-09-08 18:53:27
1541
转载 ConnectEx成功后设置SO_UPDATE_CONNECT_CONTEXT
客户端在ConnectEx成功之后,调用getpeername获取不到正确信息。 getpeername之所以取不到正确的内容,是因为ConnectEx返回后,socket相关的属性还没有更新(ConnectEx的特性所导致),你应该调用一下setsockopt更新socket的属性后再调用getpeername。参数是SOL_SOCKET和SO_UPDATE_CONNECT_CONTEXT
2015-08-21 13:27:04
2122
转载 Nagle 与 SO_SNDBUF的问题
摘要:当使用TCP传输小型数据包时,程序的设计是相当重要的。如果在设计方案中不对TCP数据包的延迟应答,Nagle算法,Winsock缓冲作用引起重视,将会严重影响程序的性能。这篇文章讨论了这些问题,列举了两个案例,给出了一些传输小数据包的优化设计方案。背景:当Microsoft TCP栈接收到一个数据包时,会启动一个200毫秒的计时器。当ACK确认数据包发出之后,
2015-08-21 10:42:51
525
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人