网络服务器开发
shop_ping
这个作者很懒,什么都没留下…
展开
-
Linux互斥锁、条件变量和信号量
进行多线程编程,最应该注意的就是那些共享的数据,因为无法知道哪个线程会在哪个时候对它进行操作,也无法得知哪个线程会先运行,哪个线程会后运行。所以,要对这些资源进行合理的分配和正确的使用。在Linux下,提供了互斥锁、条件变量和信号量来对共享资源进行保护。一、互斥锁互斥锁,是一种信号量,常用来防止两个进程或线程在同一时刻访问相同的共享资源。需要的头文件:pthread.h互斥锁标原创 2014-04-18 17:49:10 · 1653 阅读 · 0 评论 -
安装与配置Mysql
本章节介绍安装与配置Mysql的方法。1 安装MySQL数据库 本章节以mysql5.1.49为例介绍Mysql数据库的安装过程。 步骤 1 以root用户登录服务器。 步骤 2 通过SSH或XFTP等工具将mysql5.1.49的如下软件包上传到“/tmp”目录下。? MySQL-client-community-5.1.49-1.rhel5.x86_64.rpm? M原创 2015-04-13 11:51:55 · 1275 阅读 · 0 评论 -
nginx支持缓存302重定向后的文件到本地
试想一下这样一个需求:在使用nginx反向代理的时候,我们需要缓存从后端服务器拉取的内容,正常情况下,如果所需要的内容就在后端服务器上,那么很容易,使用nginx的proxy_cache模块就能够实现缓存。但是有一种情况:内容没有在后端服务器上,而是从后端服务器返回了一个重定向地址,重定向到了第三方服务器,那么这时候nginx缓存下来的内容就是不是我们需要的源内容了,而是一个只翻译 2015-06-13 10:05:54 · 7280 阅读 · 0 评论 -
开源库常用学习网址
libevent:http://www.wangafu.net/~nickm/libevent-book/01_intro.html原创 2015-04-09 13:50:47 · 917 阅读 · 0 评论 -
python+pyspider+phantomjs实现简易爬虫功能
本篇文章的目的有两个: 1.记录搭建爬虫环境的过程 2.总结爬虫项目的心得体会一、系统环境 该方案在32位ubuntu10.04和64位centos6.9上面测试通过,所需要用到的软件如下: 1.ubuntu10.04或者centos6.9任选其一,下文主要以centos6.9来说明 2.pyspider源代码,可以从这里下载到http://download.csdn.net/detail原创 2015-04-10 19:28:09 · 12214 阅读 · 0 评论 -
fd_set的具体实现过程
fd_set的实现详细原理define FD_SETSIZE 1024typedef unsigned long fd_mask;#define NBBY 8 /* number of bits in a byte */#define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mas原创 2015-04-09 16:21:35 · 1484 阅读 · 0 评论 -
线程与cpu进行绑定
最近在对项目进行性能优化,由于在多核平台上,所以了解了些进程、线程绑定cpu核的问题,在这里将所学记录一下。不管是线程还是进程,都是通过设置亲和性(affinity)来达到目的。对于进程的情况,一般是使用sched_setaffinity这个函数来实现,网上讲的也比较多,这里主要讲一下线程的情况。与进程的情况相似,线程亲和性的设置和获取主要通过下面两个函数来实现: int pthread转载 2015-04-09 09:50:11 · 1632 阅读 · 1 评论 -
Reactor设计模式基础知识
Reactor这个词译成汉语还真没有什么合适的,很多地方叫反应器模式,但更多好像就直接叫reactor模式了,其实我觉着叫应答者模式更好理解一些。通过了解,这个模式更像一个侍卫,一直在等待你的召唤,或者叫召唤兽。并发系统常使用reactor模式,代替常用的多线程的处理方式,节省系统的资源,提高系统的吞吐量。先用比较直观的方式来介绍一下这种方式的优点,通过和常用的多线程方式比较一下,可能更好理解。转载 2015-04-08 20:03:35 · 664 阅读 · 0 评论 -
爬取视频链接的例子
爬取视频链接的例子:#!/usr/bin/env python# -*- encoding: utf-8 -*-# Created on 2015-03-20 09:46:20# Project: fly_spiderimport reimport timefrom pyspider.database.mysql.mysqldb import SQLfrom pyspider.libs.原创 2015-04-10 18:21:39 · 3846 阅读 · 0 评论 -
M3U8文件初步分析
1. m3u8文件时m3u文件的一种,只不过它的编码方式是是UTF-8格式,M3U用Latin-1字符集编码。2. m3u8文件里面是不会存放音视频文件的。它里面存放的是地址一个地址,最终是通过这个地址来实现在线点播的。3. m3u8分顶级m3u8和二级m3u8, 顶级m3u8主要是做多码率适配的, 二级m3u8才是真正的切片文件,客户端默认会首先选择码率最高的请求,如果发现码率达不到原创 2014-04-01 11:46:19 · 5154 阅读 · 0 评论 -
Libcurl的初步实现tfp上传下载功能
该学习笔记的目标是利用libcurl实现ftp文件上传功能一、Libcurlde的简介Libcurl是一个免费的并且易于使用的利用url进行文件传输的库。, libcurl当前支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP,LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, S原创 2014-09-29 19:19:26 · 2233 阅读 · 0 评论 -
C++ 用libcurl库进行http通讯网络编程
目录索引:一、LibCurl基本编程框架二、一些基本的函数三、curl_easy_setopt函数部分选项介绍四、curl_easy_perform 函数说明(error 状态码)五、libcurl使用的HTTP消息头六、获取http应答头信息七、多线程问题八、什么时候libcurl无法正常工作九、关于密码十、HTTP验证十一、代码示例 1.基本的htt转载 2014-09-29 19:25:12 · 912 阅读 · 0 评论 -
rlimit介绍 Resouce limit
1、rlimit介绍在Linux系统中,Resouce limit指在一个进程的执行过程中,它所能得到的资源的限制,比如进程的core file的最大值,虚拟内存的最大值等。 Resouce limit的大小可以直接影响进程的执行状况。其有两个最重要的概念:soft limit 和 hard limit。struct rlimit {rlim_t rlim_cur转载 2014-04-10 17:30:24 · 1129 阅读 · 0 评论 -
linux下安装mysql出现错误conflicts with file from package
在linux下面安装 mysql的时候出现了错误:[html] view plaincopyprint?[root@hb86 pub]# yum install MySQL-server-community-5.1.58-1.rhel5.i386.rpm Loaded plugins: product-id, refresh-packa转载 2014-04-09 11:36:14 · 2050 阅读 · 0 评论 -
sqlite命令使用
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------转载 2014-04-03 16:29:49 · 1435 阅读 · 0 评论 -
Linux 守护进程编程介绍
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。守护进程的编程本身并不复杂,复杂的是各种版本的Unix原创 2014-04-11 11:52:03 · 1262 阅读 · 0 评论