资源简介
在linux 基于Qt 实现的一个简单的广告机项目 , 需要把html文件放入 htdoc目录, cgi 程序 放到 cgi目录 运行服务器
代码片段和文件信息
/* 客户端连接请求格式: 请求模式&文件类型&路径文件名
模式:
PUT: 上传文件到广告机
GET: 从广告机下载文件
DEL: 删除文件
START:打开广告机程序
RESTART:重新打开广告机
WINSTART:指定大小打开广告机
CLOSE:关闭广告机程序
RESTART:重新打开
类型: VIDEO视频 PICTURE1图片1 PICTURE2图片2 LOGO LIST等 根据类型会进入相应的目录 只在该目录下建立或打开文件
文件名: 只取名字 不取路径 类型已经决定了路径
zcb 2012.6.26
*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
int is_qtstart = 0; //qt是否开启标志
pid_t qtpid; //qt程序pid值
/*--------------------------------------------------------------------------------*/
// 宏定义
/*--------------------------------------------------------------------------------*/
#define BUFFER_SIZE 4096
#define BIND_PORT 8001
/* 目录宏 服务器只会进入这些目录 不管上传或下载 */
#define VIDEO_PATH “./guanggaoji/video“
#define PICTURE1_PATH “./guanggaoji/picture1/“
#define PICTURE2_PATH “./guanggaoji/picture2/“
#define PICTURE3_PATH “./guanggaoji/picture3/“
#define LIST_PATH “./guanggaoji/list/“
#define QT_PROGRAM “guanggaoji“
#define QT_PATH “./guanggaoji“
/*--------------------------------------------------------------------------------*/
// 函数声明
/*--------------------------------------------------------------------------------*/
int change_directory(char *); //改变目录 返回0成功 -1失败
void getfile(int char *); //从服务器下载文件
void putfile(int char *); //上传文件到服务器
void delfile(int char *); //删除文件
void close_qt(void); //关闭qt程序
void start_qt(char * char *); //打开qt程序
void child_process_main(int char * char *); //创建进程处理新连接 主进程继续监听
void sigchld_handler(int); //SIGCHLD信号处理 给子进程收尸
/*--------------------------------------------------------------------------------*/
// 主函数入口
/*--------------------------------------------------------------------------------*/
int main(int argc char **argv)
{
/*----------------------------------------------------------------------------*/
// 信号处理
/*----------------------------------------------------------------------------*/
struct sigaction act;
// 初始化
memset(&act 0 sizeof(act));
act.sa_handler = sigchld_handler;
sigemptyset(&act.sa_mask);
act.sa_flags = 0;
// 原型:int sigaction(int signum const struct sigaction *act struct sigaction *oldact);
sigaction(SIGCHLD &act NULL); //捕获SIGCHLD信号
start_qt(NULL NULL); //打开广告机开始播放
/*----------------------------------------------------------------------------*/
// 父进程 创建socket
/*----------------------------------------------------------------------------*/
int listening_socket;
unsigned short port = BIND_PORT;
// 原型:int socket(int domain int type int protocol);
if ((listening_socket = socket(PF_INET SOCK_STREAM 0)) < 0) {
// 创建失败
fprintf(stderr “[%d]Create new TCP socket failed: %s\n“ getpid() strerror(errno));
exit(1);
}
printf(“[%d]Created a new TCP socket listening_socket = %d.\n“ getpid() listening_socket);
/*-----------------------------------------------------
- 上一篇:菜鸟教程网前端教程PDF
- 下一篇:通用商城后台管理系统模板源码
相关资源
- 《响应式Web开发项目教程HTML5+CSS3+Bo
- 生日快乐祝福页,HTML源码
- html5公路赛车游戏源码
- 音乐可视化
- html5小型项目
- 北大青鸟《使用HTML语言开发商业站点
- web前端课程设计以及报告,jquery+js+
- 秦时明月主题静态html网站 源码
- html5 css3 打包
- elasticsearch2.4.4.zip官方原版
- 用html做的静态网站名茶网
- 讨女孩子欢心网页.zip
- 医学图像基础 Fundamentals of Medical Ima
- 李炎恢HTML5第一季教程讲义及代码
- Introduction to Linear Algebra 5th Edition Gi
- HTML5与CSS3权威指南高清完整PDF版
- 官方OSGEarth 2.8 CHM帮助文档
- 精通CSS高级Web标准解决方案-包含源码
- HTML5移动Web开发实战高清PDF电子书+
- Finite Element Procedures 第二版英文原版
- HTML静态网页作业
- vlc+html 免注册生成axvlc.cab包
- 班级介绍网站
- 一个简单的HTML5网页设计
- head first html and css第二版代码及资源
- 21902986html.zip
- Head First HTML and CSS Second Edition(官网源
- angular项目加源码
- 传智播客_网页设计与制作HTMLCSS案例源
- W3CSchool手册
评论
共有 条评论