08 2014 档案

摘要:这一小节我们将实现服务器对get和post的请求进行对cgi程序的调用。对于web服务器以前的章节已经实现了对get和post请求的调用接口,接下来给出对应接口的实现。 1 int WebServer::ServerGetFunction(int cli_fd,char *path,char *... 阅读全文
posted @ 2014-08-31 09:32 无脑仔的小明 阅读(1745) 评论(0) 推荐(1) 编辑
摘要:上一小节已经实现了对图片的传输,接下来就是判断文件是否为js,css,png等格式。我们增加一个函数用于判断格式 1 int WebServer::get_filetype(char *type,char *path)//用于判断该url指向文件的后缀 2 { 3 if(strstr(p... 阅读全文
posted @ 2014-08-30 02:23 无脑仔的小明 阅读(1662) 评论(0) 推荐(3) 编辑
摘要:上一小节已经实现了浏览器发送请求,然后服务器给出应答信息,然后浏览器显示出服务器发送过来的网页。一切看起来都是那么的美好。这一小节就准备实现可以根据地址栏url的不同来返回指定的网页。目前还不考虑带参数的问题。 stat函数#include int stat(const char *restr... 阅读全文
posted @ 2014-08-29 14:36 无脑仔的小明 阅读(1879) 评论(0) 推荐(0) 编辑
摘要:上一小节通过阅读开源的Web服务器--tinyhttpd。大概知道了一次交互的请求信息和应答信息的具体过程。接下来我就自己简单的实现一个Web服务器。 下面这个程序只是实现一个简单的框架出来。这次先实现能够Accept客户端的请求。 简单创建web服务器 webserver.h 1 #i... 阅读全文
posted @ 2014-08-28 23:36 无脑仔的小明 阅读(3034) 评论(0) 推荐(0) 编辑
摘要:一、前言介绍 中华人民共和国公民身份号码是中华人民共和国为中国大陆每个公民从出生之日起编定的唯一的、终身不变的身份代码,在中华人民共和国公民办理涉及政治、经济、社会生活等权益事务方面广泛使用。中华人民共和国公安部负责公民身份号码的编制和组织实施工作。 1999年8月26日中华人民共和国国务院... 阅读全文
posted @ 2014-08-25 01:24 无脑仔的小明 阅读(72747) 评论(1) 推荐(1) 编辑
摘要:这一次的Socket系列准备讲Web服务器。就是编写一个简单的Web服务器,具体怎么做呢?我也不是很清楚流程,所以我找来了一个开源的小的Web服务器--tinyhttpd。这个服务器才500多行的代码,使用C语言。这一小节就不讲别的内容了。就对这个程序进行一些注释和讲解了。 主函数: 1 i... 阅读全文
posted @ 2014-08-21 02:56 无脑仔的小明 阅读(8745) 评论(10) 推荐(8) 编辑
摘要:时隔两个多月了,前段时间在弄Socket,就没有弄这个了。现在好了,花了几天的时间,终于又完成了一小部分了。这一小节主要讲α,β,δ,θ等等波段之间的关系。废话不多说,直接给出这几天的成果。 上一次,我们分析了attention(专注度)和meditation(冥想度)与疲劳之间的关系。如下图... 阅读全文
posted @ 2014-08-20 02:12 无脑仔的小明 阅读(4359) 评论(11) 推荐(3) 编辑
摘要:1 """""""""""""""""""""""""""""""""""""""""""""""""&quo 阅读全文
posted @ 2014-08-11 22:22 无脑仔的小明 阅读(1536) 评论(0) 推荐(0) 编辑
摘要:上一小节我们已经实现了获取博客园最近博客的200页里面的用户名,并保存在一个map中。一开始是想通过这个用户名然后构造一个博客地址。然后在这个地址中查找心得用户名,但是后来发现这个的效率不是很高,虽然部分博客会引用别人的博客,也有机率会留有原博客的地址,这样我们可以爬取的到新的用户名。效率是不高... 阅读全文
posted @ 2014-08-11 00:38 无脑仔的小明 阅读(940) 评论(0) 推荐(0) 编辑
摘要:上一小节我们实现了从博客园的首页获取一些用户的用户名,并保存起来。接下来的这一小节我将对每个用户名构建一个用户的博客主页,然后从这个主页获取所有能获取到的网页,网页的格式现在是http://www.cnblogs.com/yourname/p/xxxxxxxx.html以前是http://www... 阅读全文
posted @ 2014-08-10 17:48 无脑仔的小明 阅读(2219) 评论(3) 推荐(2) 编辑
摘要:上一小节,我们实现了下载一个网页。接下来的一步就是使用提取有用的信息。如何提取呢?一个比较好用和常见的方法就是使用正则表达式来提取的。想一想我们要做个什么样的网络爬虫好呢?我记得以前好像博客园里面有人写过一个提取博客园用户名的博客。我这次就实现这个好了。 第一步我们要分析博客园一个URL的组成... 阅读全文
posted @ 2014-08-09 10:57 无脑仔的小明 阅读(2038) 评论(1) 推荐(4) 编辑
摘要:我们这个系列准备讲一下--网络爬虫。网络爬虫是搜索引擎系统中十分重要的组成部分,它负责从互联网中搜集网页,采集信息,这些网页信息用于建立索引从而为搜索引擎提供支持,它决定着整个引擎系统的内容是否丰富,信息是否即时,因此其性能的优劣直接影响着搜索引擎的效果。网络爬虫的基本工作原理: (1)从一个... 阅读全文
posted @ 2014-08-08 22:18 无脑仔的小明 阅读(3069) 评论(2) 推荐(3) 编辑
摘要:以前使用的用于I/O多路复用为了方便就使用select函数,但select这个函数是有缺陷的。因为它所支持的并发连接数是有限的(一般小于1024),因为用户处理的数组是使用硬编码的。这个最大值为FD_SETSIZE,这是在中的一个常量,它说明了最大的描述符数。但是对于大多数应用程序而言,这个数是... 阅读全文
posted @ 2014-08-07 21:51 无脑仔的小明 阅读(8893) 评论(3) 推荐(3) 编辑
摘要:各位好呀!这一小节应该就是这个小小网盘程序的最后一小节了,这一节将实现最后的三个功能,即列出用户在服务器中的文件列表,还有删除用户在服务器中的文件,最后的可以共享文件给好友。 列出用户在服务器中的文件列表 增加一个结构体1 struct FileList2 {3 int cnt;4 ... 阅读全文
posted @ 2014-08-06 09:17 无脑仔的小明 阅读(2133) 评论(4) 推荐(1) 编辑
摘要:在这一小节中实现了文件的下载,具体的思路是根据用户的uid和用户提供的文件名filename联合两张表,取得md5唯一标识符,然后操作这个标识符对应的文件发送给客户端。 实现下载的小小网盘程序 client.cpp增加下面这个函数以实现文件的下载。 1 int file_pull(struc... 阅读全文
posted @ 2014-08-05 19:41 无脑仔的小明 阅读(1646) 评论(10) 推荐(2) 编辑
摘要:接上一小节,这次增加另外的两张表,用于记录用户是保存那些文件。增加传上来的文件的文件指纹,使用MD5表示。 两张表如下定义: 1 create table files( 2 fid int, 3 filename varchar(64), 4 md5 varchar(64) 5 ); 6 7... 阅读全文
posted @ 2014-08-05 01:09 无脑仔的小明 阅读(1246) 评论(0) 推荐(1) 编辑
摘要:BF语言介绍 Brainfuck,是一种极小化的计算机语言,这种 语言,是一种按照"Turing complete(完整图灵机)"思想设计的语言,它的主要设计思路是:用最小的概念实现一种"简单"的语言,BrainFuck 语言只有八种符号,所有的操作都由这八种符号的组合来完成。BF基于一个简单... 阅读全文
posted @ 2014-08-04 00:32 无脑仔的小明 阅读(8080) 评论(7) 推荐(6) 编辑
摘要:这一节将不会介绍太多的技术的问题,这节主要是搭建一个小小的框架,为了方便接下来的继续编写扩展程序。本次会在上一小节的基础上加上一个身份验证的功能。 因为网盘程序不像聊天程序,网盘是属于主动向服务器拉取信息,而聊天程序有可能要被动获取信息,所以为了减轻服务器压力,每次要向服务器获取服务就建立一个... 阅读全文
posted @ 2014-08-03 01:05 无脑仔的小明 阅读(2238) 评论(0) 推荐(1) 编辑
摘要:在这里插一小节加密的吧,使用openssl库进行加密。 使用MD5加密 我们以一个字符串为例,新建一个文件filename.txt,在文件内写入hello ,然后在Linux下可以使用命令md5sum filename.txt计算md5值 ==>b1946ac92492d2347c6235b... 阅读全文
posted @ 2014-08-02 18:06 无脑仔的小明 阅读(19999) 评论(0) 推荐(1) 编辑
摘要:这个系列是准备讲基于Linux Socket进行文件传输。简单的文件传输就是客户端可以上传文件,可以从服务器端下载文件。就这么两个功能如果再加上身份验证,就成了FTP服务器了,如果对用户的操作再加上一些功能(如分享),就可以作为一个最简单的网盘了。想想是不是有点小激动啊。 我这一小节就不讲那么... 阅读全文
posted @ 2014-08-02 10:46 无脑仔的小明 阅读(3447) 评论(3) 推荐(2) 编辑
摘要:这一节应该是聊天程序的最后一节了,现在回顾我们的聊天程序,看起来还有很多功能没有实现,但是不管怎么说,都还是不错的。这一节我们将讲多服务器问题(高大上的说法就是负载问题了。)至于聊天程序的文件发送(也即二进制文件发送例如图片)和单点登陆(就是多加一个数组fd_L[],用来记录是否已经登陆过了。)... 阅读全文
posted @ 2014-08-01 10:50 无脑仔的小明 阅读(4168) 评论(6) 推荐(3) 编辑