自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (9)
  • 收藏
  • 关注

原创 基于epoll服务器的测试计划

1 2000路上线回显,然后关闭连接。2 2000路上线回显,然后保持连接,定时测试。3 2000路上线加大数据包大小测试,最大2k。4 2000路上线服务器日志对客户上线时间和通信行为进行日志记录。实验条件:1 ubuntu虚拟机运行服务器,客户端运行在win7主机上,桥接无线通信。2 服务器基于c的程序,关键技术是epoll。客户端基于go语言,利用其线程技术模

2015-05-31 16:22:32 403

原创 大量syn请求处理的一些问题

在高并发连接服务器编写时,当同一秒内大量连接进入,epoll_wait的et总是丢失一部分连接,经上网查询后要求对每次accept都需要循环检查,添加代码后少量连接没有问题,连接数量上100就又会丢失一部分连接,无论是et模式还是lt模式都有这种情况。今天偶然觉得可能会是accept的问题,纯accept循环仍然丢失连接,wireshark抓包没有问题,都收到了确认,服务器客户端都没有报错苦思

2015-05-31 15:25:13 1419

原创 一些概念

正在握手的队列大小由/proc/sys/net/ipv4/tcp_max_syn_backlog指定。如果启用了syncookies未完成队列的大小是无限的,syncookies 主要是将在收到客户端SYN包后就分配资源改成在完成握手后再分配这些资源,避免同时收到大量的SYN包的需要分配大量资源而受到攻击。

2015-05-31 09:43:58 338

原创 epoll处理高并发连接丢失连接的问题

epoll的LT和ET的区别LT:水平触发,效率会低于ET触发,尤其在大并发,大流量的情况下。但是LT对代码编写要求比较低,不容易出现问题。LT模式服务编写上的表现是:只要有数据没有被获取,内核就不断通知你,因此不用担心事件丢失的情况。ET:边缘触发,效率非常高,在并发,大流量的情况下,会比LT少很多epoll的系统调用,因此效率高。但是对编程要求高,需要细致的处理每个请求,否则容易发

2015-05-30 14:56:25 2985

转载 git add .失败解决办法

“git add”出错近日使用“git add”出现如下错误: $ git add ./warning: You ran 'git add' with neither '-A (--all)' or '--ignore-removal',whose behaviour will change in Git 2.0 with respect to paths you re

2015-05-28 22:34:16 20776

原创 一个线程池解决epoll socket队列的方法

每个线程一个队列。每个socket都用哈希将其发入固定队列,这样就不会发生两个队列同时处理同一个socket信息的问题。小收获:算法谜题书不错

2015-05-28 21:58:42 1259

原创 生产者消费者问题的一些代码上的见解

#include #include #include #include "pthread.h"#define BUFFER_SIZE 2/* Circular buffer of integers. */struct prodcons { int buffer[BUFFER_SIZE]; /* the actual data */ pthread_mutex_t lock; /* mutex en

2015-05-24 21:13:26 540 1

转载 pthread_cond_wait详解

对pthread_cond_wait一直不是很理解,看到一篇文章写的不错,原文在这里,http://www.ibm.com/developerworks/cn/linux/thread/posix_thread3/#1下面说一下,pthread_cond_wait(&mycond,&mymutex)的东西1. 设计pthread_cond_wait 的初衷   线程

2015-05-24 20:34:13 795

原创 ?????????????????????

1 多个线程同时等待一个互斥锁,获得权限的线程是按照先后顺序么

2015-05-24 15:16:00 327

转载 boost circular_buffer的使用

有时候我们需要固定大小的一个类似数组的东西,存储比如一个用户最近10天的留言记录这些东西,但是又想实现随机访问,也就是支持下标的操作,list肯定是不适合的,因为它不支持随机访问。当然我们可以用vector或者deque做类似的模拟封装,但是这样比较麻烦,boost库提供了一个circular_buffer,包含了stl deque和vector的几乎所有功能,而且可以指定大小。如果其中的元素的数

2015-05-24 11:33:50 1715

原创 在GitHub上创建代码仓库

Create a new repository on the command linetouch README.mdgit initgit add README.mdgit commit -m "first commit"git remote add originhttps://github.com/lltppong-it/TeweWater.git

2015-05-24 09:00:37 322

原创 github在linux下的配置

第一步: 安装Git,使用命令 “sudo apt-get install git”第二步: 到GitHub上创建GitHub帐号第三步: 生成ssh key,使用命令 “ssh-keygen -t rsa -C "your_email@youremail.com"”,your_email是你的email第四步: 回到github,进入Account Setti

2015-05-21 21:55:35 399

原创 关于TCP连接数的限制(基于epoll)

当listenedfd收到连接时间后不能采用放弃accept操作的ET模式 经过测试此时客户端会认为已经连上 但实际上服务器逻辑上并没有添加这个连接。解决方法:accept后对连接数进行检测,如果发现超过连接数就立即关闭该socket。

2015-05-18 21:35:00 1941

NALDecoder.rar

真正vlc可以播放的代码 下载多个选择出来的好代码

2015-10-09

Visual C++/DirectX9 3D游戏开发导引源码

Visual C++/DirectX9 3D游戏开发导引

2011-08-30

ftp文件下载客户端

mfc 新手源代码 用最少的代码 让你理解 下载与上传的实现 我自己改造的 逻辑非常清楚 可以自己尝试 加入多线程 等

2010-02-11

10TCPServer(windows socket api )

windows 程序设计源代码 非常适合新手 windows socket api 我就是 看这个过来的

2010-02-11

10TCPClient (windows api socket)

windows 程序设计 实例 api函数 新手专用的简单源码 非常标准的

2010-02-11

刘文涛 网络安全开发包 难得宝库

winpcap libnet libnids libdnet netsniffer 开发包 刘文涛书对应的开发包 花了很多天才弄到的 在windows 使用的 linux部分开发包不适合

2010-02-01

libdnet开发包 网络安全开发包详解 专用的 刘文涛 Windows

非常难得 我是费了很大劲 才弄到 分享给大家

2010-01-30

这个是程序员非常好用的词典

这个是程序员非常好用的词这个是程序员非常好用的词典这个是程序员非常好用的词典典

2010-01-24

vc++实例源码 关于新手用的

这个东西呢 是我 下载的 应该适合新手使用吧 就这样吧

2010-01-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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