- 博客(58)
- 资源 (14)
- 收藏
- 关注
转载 ADSL通过路由器连接上网网络速度变慢解决方案
当MTU为1492时,ping百度出现丢失100%.而设置为1200是,ping百度完全连接。netsh interface ipv4 show subinterfaces对mtu进行重新设置:netsh interface ipv4 set subinterface "本地连接" mtu=1200 store=persistent重启试下。
2013-08-20 00:00:33
2173
原创 Nginx event核心模块之process部分详解(四)
Nginx event核心模块之process(四) 这个是event模块核心运行部分,主要函数涉及event_process_init和event_process_and_timer两个部分。其中event_init部分主要包括一下部分内容:1) 初始化cycle_connections信息2) 初始化cycle_read_events以及cycle_wr
2012-12-07 14:44:00
4872
原创 Nginx event核心模块之epoll模块详解(三)
Nginx event核心模块之epoll模块详解(三)在这里我会把nginx epoll的总体流程图说明一下,下图是epoll的总体流程图:
2012-12-07 14:04:49
3306
原创 Nginx event核心模块之epoll模块详解(二)
Nginx event核心模块之epoll模块详解(二)在ngx_epoll_module中关于创建侦听SOCKET以及进程的SPAWN这里就先不讨论了。以下讨论下epoll模块中各个函数的作用以及关系。主要是以下这几个函数:static ngx_int_tngx_epoll_init(ngx_cycle_t *cycle, ngx_msec_t timer);//主要用于初始化e
2012-12-07 13:28:05
4795
原创 Nginx event核心模块之epoll模块详解(一)
Nginx event核心模块之epoll模块详解(一) 在介绍epoll之前,先介绍下两个重要的数据结构,一个是ngx_event_t,另外一个是ngx_connection_t。这两个数据结构是关于事件和连接的。以下是两个数据结构的代码:typedef void(*ngx_event_handler_pt)(ngx_event_t *ev);typedef void (
2012-12-07 13:26:23
5767
原创 epoll服务器开发详解
epoll基础知识:epoll比select poll最大的好处在于它不会随着监听fd数目的增长而降低效率,它属于异步I/O方式。epoll的接口非常简单,一共就三个函数:1. int epoll_create(int size);创建一个epoll的句柄,size用来告诉内核这个监听的数目一共有多大。这个参数不同于select()中的第一个参数,给出最
2012-11-26 17:20:52
2639
原创 一个矩形块中有多少个正方形
问题描述:一个矩形坐标为(x,y)x,y都为正整数,求这个矩形中有多少个正方形,正方形的坐标也为正整数,正方形的边不一定平行与矩形的边。code: 1 #include 2 using namespace std; 3 4 int SquareNumber(int x,int y) 5 { 6 if(x 7 int result=0,
2012-10-14 18:03:47
3152
原创 一瓶可乐一块钱,三个空瓶子可以换一瓶可乐,如果现在有m块钱,能换多少瓶可乐。
问题描述:一瓶可乐一块钱,三个空瓶子可以换一瓶可乐,如果现在有m块钱,能换多少瓶可乐。代码: 1 #include 2 using namespace std; 3 4 int DrinkNum(int m) 5 { 6 int result=m,temp=0; 7 while(m!=0) 8 { 9
2012-10-12 19:10:33
4826
原创 左旋转字符串
问题描述:左旋转字符串。input:abc 2 output:cabintput:abcd 2 output :cdab代码: 1 #include 2 using namespace std; 3 4 void LeftRotateString(char **str,const int m) 5 { 6 if(m==0) return;
2012-09-28 08:54:52
1563
原创 判断一个字符串是不是回文数
问题描述:判断一个字符串是不是回文数,比如abcdcba和abccba就是回文数。代码: 1 #include 2 #include 3 4 #define MAX_SIZE 100 5 6 bool IsLoopString(char* str) 7 { 8 if(str==NULL) return false; 9 i
2012-09-27 20:52:17
5532
原创 字符串排序
问题描述:给一段字符串排序,存在一个key字符串,两个字符串中包含‘a’至‘z’的小写字母。首先按照key对input的字符串进行排序,然后对剩下的按字符大小排序。Code: 1 #include 2 3 void keysort(char *str,char *key) 4 { 5 if(str==NULL) return; 6 int
2012-09-25 13:58:43
1966
原创 查找一个数是否存在于一个数组中。该数组分两段有序,第一段的数都大于第二段的数。
问题描述:查找一个数是否存在于一个数组中。该数组分两段有序,第一段的数都大于第二段的数。要求:时间复杂度为O(logn)空间复杂度为O(1);示例:6,7,8,9,1,2,3,4,5 1 #include 2 using namespace std; 3 4 bool ExistofNum(int *array,int n,int num) 5 { 6
2012-09-21 21:44:28
2582
原创 数组排序
题目描述:一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的正负数之间相对顺序 比如: input: 1,7,-5,9,-12,15 ans: -5,-12,1,7,9,15 要求时间复杂度O(N),空间O(1) 。代码:#include void sortarray(int *array,int n){ if(array==NULL)
2012-09-18 16:48:48
1525
原创 查找二叉查找树第N大的数
问题描述:查找二叉查找树第N大的数代码:#include#includetypedefstruct BSTreeNode{int Value;struct BSTreeNode *pLeft;struct BSTreeNode *pRight;}*pBSTreeNode,BSTreeNode;void FindNthMax(pBSTreeNode root,
2012-08-30 14:28:13
3260
原创 反转单链表的值,但不改变链表指针地址
描述:反转单链表的值,但不改变链表指针地址,一个单链表比如1->2->3->4,在不改变指针地址的情况下把链表变为4->3->2->1. 代码: #include #include typedefstruct Node{int value;struct Node *next;}*pNode; void ReverseValue(pNode
2012-08-30 13:26:27
2044
原创 微软实习总结报告
问题1:在微软实习的三个月里你做了些什么工作?在微软刚来微软实习的时候,我对微软的工作流程不是很了解,而且对C#编程语言不熟悉。首先我要做的时候就是了解微软的开发流程和系统的框架,通过看SDK我了解到这个系统的作用和一些相关的细节,比如说我知道commerce是为不同的partner提供支付平台的,还有就是一些支付的流程比如你首先得创建账号,添加支付方式,然后你才可以买一些产品或者订阅一些of
2012-08-30 12:32:27
3438
原创 C# How to get the system drive of remote server
code:[DllImport("advapi32.DLL", SetLastError = true)]publicstaticexternint LogonUser(string lpszUsername, string lpszDomain, string lpszPassword, int dwLogonType, int dwLogonProvider
2012-07-26 10:30:57
1748
转载 Visual Studio 2005中的快捷键与小技巧整理(VS 2008、2010同样受用)
转载于:http://www.cnblogs.com/ju2ender/archive/2009/10/04/visual_studio_vs_csharp.html代码编写Shift + Alt + Ente - 全屏显示Shift + Alt + F10 - 有三种作用:1. 在实现接口时,按下,可打开用于实现接口的选项;2. 在修改一个变量、方法、类等等时,打开重命名选项
2012-07-20 13:29:20
2927
原创 C#图片传输
如果传送的图片是readonly,可以通过FileInfo.IsReadOnly = false先屏蔽readonly,不然本文代码会出现小错误:Client Code: using System; using System.Collections.Generic; using System.Text; using System.Net; using S
2012-07-19 09:38:47
4132
原创 linux下时间有关的函数和结构体
1、时间类型。Linux下常用的时间类型有4个:time_t,struct timeb, struct timeval,struct timespec,clock_t, struct tm.(1) time_t是一个长整型,一般用来表示用1970年以来的秒数.该类型定义在中.一般通过 time_t time = time(NULL); 获取.(2) st
2012-05-10 12:28:36
5974
转载 随机数生成函数 srand() rand()
转载于http://hi.baidu.com/petrel_thy/blog/item/311aa4366ac9aad1a3cc2be3.html如果srand每次输入的数值是一样的,那么每次运行产生的随机数也是一样的,srand(n)for(10)rand()也就是说,以一个固定的数值作为种子是一个缺点。 通常的做法是 以这样一句代码srand((unsigned) ti
2012-05-09 23:56:38
1622
原创 pthread_cond_timedwait实例代码
函数声明:int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime);其中abstime是绝对系统时间代码如下:#include #include #include #include #include #include
2012-05-08 21:18:52
10447
原创 linux获取本机IP地址问题(live555)
1.问题 :今天在一台服务器上安装live555,运行结果如下: 出现ip地址为:0.0.0.02.最后问题所在:以后要注意一点就是:别从别人身上找问题,应该从自己身上找问题!不扯了。最后发现是在防火墙配置里面有问题,发现: 信任的设备中居然没有eth0。于是选择上即可,同时加上端口554.运行木有问题!3.linux获取本机IP地址的方法转发与:http://
2012-05-02 18:09:53
3901
原创 C++构造函数与多线程问题
最近出现一个问题就是在构造函数里面创建线程或者进程会出现创建的线程和主线程的读写时间有很大差异,主线程会一直占用cpu。
2012-04-02 21:22:28
1304
转载 linux下的互斥锁,条件变量和信号量
进行多线程编程,最应该注意的就是那些共享的数据,因为无法知道哪个线程会在哪个时候对它进行操作,也无法得知哪个线程会先运行,哪个线程会后运行。所以,要对这些资源进行合理的分配和正确的使用。在Linux下,提供了互斥锁、条件变量和信号量来对共享资源进行保护。一、互斥锁互斥锁,是一种信号量,常用来防止两个进程或线程在同一时刻访问相同的共享资源。需要的头文件:pthread.h互斥锁标
2012-04-01 23:27:41
1148
原创 Linux 原子操作
所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用了物理学里的物质微粒的概念。 原子操作需要硬件的支持,因此是架构相关的,其API和原子类型的定义都定义在内核源码树的include/asm/atomic.h文件中,它们都使用汇编语言实现,因为C语言并不能实现这样的操作。 使
2012-03-31 10:15:27
773
原创 在一个字符串中删除另一个字符串中存在的字符
输入:两个字符串,一个是源字符串,被删除的。一个是”删除字符串“输出:被删除后的源字符串#include #include using namespace std;void DelChars(char *strsource,char *strdelete){ if((strsource==NULL)||(strdelete==NULL))
2012-03-28 21:27:29
1620
原创 一个生产者多个消费者问题
问题描述:一个缓冲区具有多个消费者和一个生产者,生产者往缓冲区中顺序写数据,每个消费者首先访问最新被写缓冲,然后顺序访问。
2012-03-28 16:15:22
3737
原创 腾讯广研-笔试题(2) 2012-3-27
2.输入:一个有序数组和数组大小 输出:一个有序二叉树(二叉查找树又叫二叉排序树)它只是说是有序二叉树没有说是平衡的,当且当做是平衡的吧!#include using namespace std;struct BTreeNode{ int val; struct BTreeNode *left; struct BTreeNode *right;
2012-03-27 23:54:34
2448
原创 腾讯广研-笔试题(1)2012-3-27
今天去腾讯广州笔试去了,结果很悲剧。不过没关系,只有在不断的被鄙视的过程中才能茁壮成长,加油!1.输入:一个字符串,其中包括四种运算符:+、-、*、/和一些整数(0-9)。PS:没有括号。 输出:运算结果(double)。实例:输入1*2+4/2-4+5 输出:5.0分析:先把乘除运算做完,把减运算变成后面那个数的负数,并把前三种运算的结果输入到栈中。后面的就全部是加运算了。代
2012-03-27 23:00:51
2228
原创 一日一算法
不知道从哪天之前,都在说文档没用,很浪费时间,没有这个必要; 不知道哪天听见许老师说,要学会要在写代码的同时学会写文档; 不知道哪天看见这样一句话:做简单的事,并始终如一! 但知道是哪天开始了我简单的事情,那就是每天一算法,每天一项目描述。把自己做过学过的东西记下了,一点一滴的累积起来! 加油!今天是第一天,今天是2012年3月25号!
2012-03-25 22:20:56
675
原创 指针引用 gcc与g++
今天碰见一个问题,那就是用指针引用时,用gcc编译居然出错了!代码如下:编译过程如下:对于这个错误,这是因为c语言不支持指针引用 可以通过返回指针或者使用指向指针的指针来解决相应的问题!
2012-03-17 22:52:33
1216
转载 TCP/IP之TCP协议:流量控制(滑动窗口协议)
一、流量控制(滑动窗口协议) 1、流量控制是管理两端的流量,以免会产生发送过块导致收端溢出,或者因收端处理太快而浪费时间的状态。用的是:滑动窗口,以字节为单位2、窗口有3种动作:展开(右边向右),合拢(左边向右),收缩(右边向左)这三种动作受接收端的控制。合拢:表示已经收到相应字节的确认了展开:表示允许缓存发送更多的字节收缩(非常不希望出现的,某些实现是禁止的)
2012-03-12 15:05:39
6960
转载 TCP/IP协议族之运输层(TCP流量控制和拥塞控制 )
TCP的流量控制1. 利用滑动窗口实现流量控制 如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。 利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。 设A向B发送数据。在连接建立时,B告诉了A:“我的接收窗口是 rwnd = 400 ”(这里
2012-03-12 15:04:14
6441
转载 SSH Telnet 终端退出后保持程序继续运行 收藏
你是不是经常需要 SSH 或者 telent 远程登录到 Linux 服务器?你是不是经常为一些长时间运行的任务而头疼,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为他们执行的时间太长了。必须等待它执行完毕,在此期间可不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。 元凶:SIGHUP 信号 让我们来看看为什么关掉窗口
2012-03-10 13:47:55
4764
转载 TCP/IP重传超时--RTO
概述:本文讨论主机在发送一个TCP数据包后,如果迟迟没有收到ACK,主机多久后会重传这个数据包。主机从发出数据包到第一次TCP重传开始,RFC中这段时间间隔称为retransmission timeout,缩写做RTO。本文会先看看RFC中如何定义RTO,然后看看Linux中如何实现。本文旨在分享:当遇到了TCP层问题改如何去查找、阅读文档,该如何去在Linux源码中寻求答案。1. 起
2012-03-08 20:59:23
19322
转载 SDP 会话描述协议概述
1.概述SDP也是MMUSIC工作组的一个产品,在MBONE内容中用得很多。其目的就是在媒体会话中,传递媒体流信息,允许会话描述的接收者去参与会话。SDP基本上在internet上工作。他定义了会话画描述的统一格式,但并不定义多播地址的分配和SDP消息的传输,也不支持媒体编码方案的协商,这些功能均由下层传送协议完成.典型的会话传送协议包括:SAP(Session Announcement Pr
2012-03-08 19:52:05
2606
原创 RTP over RTSP(TCP)(一)
服务器:live555 客户端:VLC 视频格式:H264 (1)OPTIONS OPTIONS rtsp://222.201.145.236/slamtv60.264 RTSP/1.0CSeq: 2User-Agent: LibVLC/1.1.11 (LIVE555 Streaming Media v2011.05.25)解析:此步骤是客户端向服务器询问有哪
2012-03-07 12:30:23
22785
3
转载 RTP协议解析
1、协议简介RTP是针对Internet上多媒体数据流的一个传输协议。可以实现一对一或一对多的传输情况。RTP的典型应用建立在UDP上,但也可以在TCP或ATM等其他协议之上工作。 RTP本身只保证实时数据的传输,并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制。2、工作机制多媒体数据传输的一个尖锐的问题就是不可预料数据到达时间。但是流媒体的传输是需
2012-03-06 15:53:48
3931
转载 点播和单播有什么区别,组播和广播呢?
单播(Singlecast) 在客户端与媒体服务器之间需要建立一个单独的资料信道,从一台服务器送出的每个资料包只能传送给一个客户机,这种传送方式称为单播。每个用户必须分别对媒体服务器发送单独的查询,而媒体服务器必须向每个用户发送所申请的资料包拷贝。这种巨大冗余首先造成服务器沉重的负担,响应需要很长时间,甚至停止播放;管理人员也被迫购买硬件和带宽来保证一定的服务质量。 组播(Multic
2012-03-06 15:09:06
9572
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人