IOCP问题总结(recv阻塞/死锁/线程堆栈溢出)

//群发,异常时不关闭socket,(关闭会出现异常(死锁?!),而不关闭最多客户端少收一些数据而已),再者,这里在关闭,而SocketArray_->GetActiveItem(i)又在获取。。。 //会发生类似这样的死锁:AcceptThread的RecvData要进入锁,但OnRecv...

2015-09-06 22:57:13

阅读数:2110

评论数:1

IOCP注意事项

一、   WSAENOBUFS   错误问题。                       这个问题通常很难靠直觉发现,因为当你第一次看见的时候你或许认为是一个内存泄露错误。假定已经开发完成了你的完成端口服务器并且运行的一切良好,但是当你对其进行压力测试的时候突然发现服务器被中止而不处理任何请求了...

2015-09-05 11:58:24

阅读数:538

评论数:0

Overlapped重叠I/O之事件通知

在 Winsock 中,重叠 I/O(Overlapped I/O)模型能达到更佳的系统性能,高于select模型、异步选择和事件选择三种。重叠模型的基本设计原理便是让应用程序使 用一个重叠的数据结构(WSAOVERLAPPED),一次投递一个或多个 Winsock I/O 请求。针对这些提...

2015-09-05 11:30:30

阅读数:396

评论数:0

Wireshark使用

如果输入Fileter的语法正确,那么将显示未绿色!反之则显示为浅红色! 正确: 不正确: 1、查看TCP协议且端口为8888的包:  tcp.port==8888 2、查看端口+源ip: tcp.port == 80 and ip.src == 192.168.2.1 (同理目的...

2015-09-03 19:48:35

阅读数:764

评论数:0

wireshark使用教程(之1)

wireshark是一款抓包软件,比较易用,在平常可以利用它抓包,分析协议或者监控网络,是一个比较好的工具,因为最近在研究这个,所以就写一下教程,方便大家学习。        这里先说Wireshark的启动界面和抓包界面        启动界面:           ...

2015-09-03 19:32:56

阅读数:447

评论数:1

linux socket服务器框架

思考一种高性能的服务器处理框架 1、首先需要一个内存池,目的在于: ·减少频繁的分配和释放,提高性能的同时,还能避免内存碎片的问题; ·能够存储变长的数据,不要很傻瓜地只能预分配一个最大长度; ·基于SLAB算法实现内存池是一个好的思路:分配不同大小的多个块,请求时返回大于请求长度的最...

2015-09-01 20:54:00

阅读数:304

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭