网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.双机容错环境Oracle数据库应用.
.全面剖析Oracle数据库中的分区功.
.在ORACLE数据库中实现从非归档模.
.ORACLE UPDATE 语句语法与性能分.
.oracle 备份数据库.
.LVS的配置详解配置.
.ORACLE入门之APACHE WEB SERVER管.
.利用作业备份和恢复数据库.
.如何手工指定使用哪个回退段?.
.字符集问题的初步探讨.
.如何实现数据库完整备份.
.ORACLE在HP-UX下的系列问题处理(.
.Oracle9i初始化参数中文说明(1).
.为什么有时数据库不用索引来查找.
.Oracle中通过命令行实现定时操作.
.学会将SYS_GUID和序列作为主关键.
.Oracle 10g RAC与SLES9.
.oracle中变异表触发器的处理。.
.oracle概念和术语.
.Oracle 9i的数据类型.

linux下的应用开发起步--简化蚂蚁制作(一)

发表日期:2008-2-9



  摘要:Linux下的应用开发起步--简化蚂蚁制作
  
  在读过本栏目先前有关的linux下的编程相关知识后,亲爱的网友。不知你们是否开始迫不及待地想开始你的第一个程序啊,当然不是那种简单的“HELLO WORLD!”啦(^=^...).
  
    在这里,linuxbird将和你一道作个简单的LINUX下的蚂蚁程序,就是DOWNLOAD吧,下载文件,不过呐,你可别期望它现在就象闻名的netants那样强劲啊。你可别期望太高。(嘻嘻。。。。。。)
  
    但是,我觉得,“蚂蚁虽小,五脏俱全”所以,通过这一例子,还是可以学到linux下编程的一些精髓。即使是九牛一毛也是不错的。
  
    OK, 废话少说,LET'S FLY WITH ME!!!!
  
    基本思路是这样的:利用socket来建立链接,然后用Html的get方法来下载文件。
  
    具体步骤如下:
  
    1.先从配置文件ant.conf中读取代理服务器的的信息:代理服务器地址、代理服务服务器的端口。或者直接从命令行中取得这些参数。
  
    2.在取得这些数据后,就可以用开始做DOWNLOAD的工作了,在这里要明白其download的指令主要是用HTTP协议的GET方法。另外以下程序过程中要用到以下一些系统调用:
  
    1)socket 所属库
  
    这是最基本的工具,用的时候要把这两个库#include进来。有关套接口的具体知识我这里就不多讲了,主要是用它创建一个套接口。
  
    定义如下:
  
   int socket(int domain,int type,int protocol);
  
    其中:
  
   domain为 AF_INET,
  
    第二参数为套接口的类型:SOCK_STREAM或SOCK_DRGAM.这里用前者。
  
    第三个参数为0
  
    sock返回的是结果存在一个数据结构sockaddr_in中,这个结构如下:
  
   strUCt sockaddr_in{
   short int sin_family; /* 存放domain*/
   unsigned short int sin_port; /*存放链接端口*/
   struct in_addr sin_addr; /*存放目标地址*/
   unsigned char sin_zero[8]; /* 存放该数据结构的长度*/
   }
  
    2)connect 所属库
  
    在成功创建socket后,就可以进行连接工作了。
  
    该函数头定义如下:
  
   int connect(int sockfd,struct sockaddr *serv_addr,int addrlen);
  
    其中:
  
   sockfd: 创建socket时返回的套接口文件描述字符;
   serv_addr: 指向数据结构sockaddr的指针;
  sin_zero[8]: 长度,可以用sizeof(cockaddr_in);
  
    3)gethostbyname 所属库
  
    这个是根据域名返回IP地址的函数的.
  
    它的返回是指向数据结构 hostent的指针,该数据结构定义如下:
  
  struct hostent{
   char *h_name; /*主机的正式名称*/
   char **h_aliases; /* 主机的别名*/
   int h_addrtype; /*返回的地址类型,一般是AF_INET*/
   int h_length; /* 地址的字节长度*/
   char **h_addr_list /*主机的网络地址*/
  }
  
    4)sigaction 所属库
  
   int sigaction(int signum, const struct sigaction *act,
   struct sigaction *oldact);
  
    主要是用来处理进程忽然中断的,旧的进程将在保存在oldact中的。
oldact是指向数据结构sigaction的指针。
  
   struct sigaction {
   void (*sa_handler)(int);
   sigset_t sa_mask;
   int sa_flags;
   void (*sa_restorer)(void);
   }
  
    5)getopt 所属库
  
   int getopt(int argc, char * const argv[],
   const char *optstring);
  
    该函数主要是用来分析命令行中输入参数的。
  
    其中: optstring为字符匹配串。
  
    并且取值的结果存放在char *optarg
上一篇:Linux下的压缩/解压缩工具 人气:1457
下一篇:Webmin--Linux下的用户管理工具 人气:1023
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐