摘要: 所谓的开放API(OpenAPI)是服务型网站常见的一种应用,网站的服务商将自己的网站服务封装成一系列API(Application Programming Interface,应用编程接口)开放出去,供第三方开发者使用,这种行为就叫做开放网站的API,所开放的API就被称作OpenAPI(开放API)。 网站提供开放平台的API后,可以吸引一些第三方的开发人员在该平台上开发商业应用,平台提供商可以获得更多的流量与市场份额,第三方开发者不需要庞大的硬件与技术投资就可以轻松快捷的创业,从而达到双赢的目的,开放API是大平台发展、共享的途径,让开发者开发一个有价值应用,付出的成本更少,成功的机会. 阅读全文
posted @ 2011-08-16 21:19 hnrainll 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 功能描述:发送消息。send只可用于基于连接的套接字,send 和 write唯一的不同点是标志的存在,当标志为0时,send等同于write。sendto 和 sendmsg既可用于无连接的套接字,也可用于基于连接的套接字。除了套接字设置为非阻塞模式,调用将会阻塞直到数据被发送完。 用法: #include <sys/types.h>#include <sys/socket.h> ssize_t send(int sock, const void *buf, size_t len, int flags);ssize_t sendto(int sock, const v 阅读全文
posted @ 2011-08-16 20:39 hnrainll 阅读(7404) 评论(0) 推荐(0) 编辑
摘要: recv,recvfrom,recvmsg函数用于从套接字接收信息。 ssize_t recv (int s, void *buf, size_t len, int flags); ssize_t recvfrom (int s, void * restrict buf, size_t len, int flags, struct sockaddr * restrict from, socklen_t * restrict fromlen); ssize_t recvmsg (int s, struct msghdr *msg, int flags);recvfrom和recvmsg系统调用用 阅读全文
posted @ 2011-08-16 20:38 hnrainll 阅读(1695) 评论(0) 推荐(0) 编辑
摘要: 在一般的socket实现的时候,通常是用参数的形式,将文件描述符(FD)传到子进程或者直接传到read()汉书中。不过如果想以Socket的形式,来传送FD的话,那就要用到sendmsg和recvmsg函数了。关键点,FD的值要通过msg.msg_control来传递的,千万别写到传输用的buff里面,那样做只是简单的传值,没有任何意义的。/*------------------------------------------------- server-------------------------------------------------*/#include <stdio.h 阅读全文
posted @ 2011-08-16 20:38 hnrainll 阅读(2406) 评论(0) 推荐(0) 编辑
摘要: 本程序是recvmsg()函数的简单应用:/* ************************************************************************ * Filename: msg.c * Description: * Version: 1.0 * Created: 2011年08月16日 20时07分52秒 * Revision: none * Compiler: gcc * Author: YOUR NAME (), * Company: * **************************************************** 阅读全文
posted @ 2011-08-16 20:35 hnrainll 阅读(5257) 评论(1) 推荐(0) 编辑
摘要: 名字 recv, recvfrom, recvmsg - 从套接口接收一个消息 概要#include <sys/types.h>#include <sys/socket.h>ssize_t recv(int sockfd, void *buf, size_t len, int flags);ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,ssize_t recvmsg(int sockfd, struct msghdr *msg, int flags);描述recvfrom和recvmsg()用 阅读全文
posted @ 2011-08-16 20:00 hnrainll 阅读(10193) 评论(0) 推荐(0) 编辑
摘要: 导读:本文是从《The Singular Secret of the Rockstar Programmer》这篇文章翻译而来。译文来自外刊IT评论《编程巨星的唯一秘诀》。内容如下:别以为是那些软件开发定律,别以为是开发出那些特殊用途的软件,别以为是软件设计技术本身。只有一条真理决定了一个软件程序员的成功还是失败。由于坚持这个真理,一个资深的程序员能在一天的时间里学会一门新的编程语言,而由于不坚持这条真理,一个初级的程序员用十年时间也只能挣到一份糊口的钱、永远是来实现别人的设计、永远不够优秀而得不到晋升的机会。这条真理让你看清了差的程序员和好的程序员的不同之处,好的程序员和伟大的程序员的不同之 阅读全文
posted @ 2011-08-16 19:06 hnrainll 阅读(285) 评论(0) 推荐(2) 编辑
摘要: 1、open 是系统调用 返回的是文件句柄,文件的句柄是文件在文件描述副表里的索引,fopen是C的库函数,返回的是一个指向文件结构的指针。2、fopen的实现要调用open, 关键看你想返回什么了, FILE指针还是描述符? 3、32位环境下,编译加“-D_FILE_OFFSET_BITS=64” 要在open里加O_LARGEFILE标记 [code]static int ext2_open_file (struct inode * inode, struct file * filp){ if (!(filp->f_flags & O_LARGEFILE) && 阅读全文
posted @ 2011-08-16 17:57 hnrainll 阅读(3166) 评论(1) 推荐(0) 编辑
摘要: 昨天在《C Programming FAQs》上看见了一段类似的代码,刚刚在CSDN问了,又Google了一下,整理下来。代码:#include <stdio.h>FILE *myfopen(char *name){FILE *fp=fopen(name,"w");fprintf(fp,"abcdefg");return fp;}int main(){FILE *fptr=myfopen("example.txt");fprintf(fptr,"ABCDEFG");fclose(fptr);return 阅读全文
posted @ 2011-08-16 17:52 hnrainll 阅读(914) 评论(0) 推荐(0) 编辑
摘要: 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://phoenixtoday.blogbus.com/logs/45855234.html 最近小组里有一些关于REST API设计的讨论,有些收获,打算在这里写一下。通常来讲设计第一个版本的REST API并不难,难点在于将来你要改变了这些API,而客户那里已经有对应的客户端实现, 那么你怎么保证兼容?或者,至少,你应当让这些东西失效吧,这样客户才能知道。所以基本上就是两个问题。1,在最初设计时,如何尽量保证向后兼容?(这里不提倡过度设计噢,我们是搞敏捷的,哈哈)2,如果API发生了改变,该怎么通知已有实现?对于第一个 阅读全文
posted @ 2011-08-16 12:04 hnrainll 阅读(2278) 评论(1) 推荐(0) 编辑
摘要: 代理服务器,英文名叫Proxy Server,在日常网络中有很多用途,这里把我们所熟悉的一些作用总结和分析一下,分类说明: 一、共享网络 最常见的可能是用代理服务器共享上网,很多人不知不觉中就在用,比如通过sygate,wingate,isa,ccproxy,NT系统自带的网络共享等,可以提供企业级的文件缓存、复制和地址过滤等服务,充分利用局域网出口的有限带宽,加快内网用户的 访问速度,可以解决仅仅有一条线路一个IP,IP资源不足,带局域网很多用户上网的功能,同时可以做为一个防火墙,隔离内网与外网,并且能提供监控网络和记录传输信息的功能,加强了局域网的安全性,又便于对上网用户进行管理。 二、访 阅读全文
posted @ 2011-08-16 11:03 hnrainll 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 首先要安装这个库,其次,要把需要的协议加上,./configure --enable-smtp --enable-pop3makemake install使用curl --version 查看使用版本是否一样smtp代码实例: ################################################################################include <stdio.h> #include <curl/curl.h>size_t read_data(void *ptr, size_t size, size_t nmemb, 阅读全文
posted @ 2011-08-16 10:48 hnrainll 阅读(1714) 评论(0) 推荐(1) 编辑
摘要: larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人 Sébastien Ailleret独立开发。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎提供广泛的数据来源。Larbin只是一个爬虫,也就是说larbin只抓取网页,至于如何parse的事情则由用户自己完成。另外,如何存储到数据库以及建立索引的事情 larbin也不提供。一个简单的larbin的爬虫可以每天获取500万的网页。 利用larbin,我们可以轻易的获取/确定单个网站的所有联结,甚至可以镜像一个网站;也可以用它建立url 列表群,例如针对所有的网页进行 url retrive后,进行xml 阅读全文
posted @ 2011-08-16 08:34 hnrainll 阅读(1280) 评论(0) 推荐(1) 编辑