首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 纯C语言开发的网站开源了! [已结贴,结贴人:tengyunjiawu_com]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-17 17:36:43 楼主
    [b][size=18px]纯C语言开发的网站开源了![/size][/b][/align]

    [align=center]空间 commit 代码 纯C语言


     

    #include  <stdio.h>
    #include  <winsock2.h> //用来做缓存
    #include  <stdlib.h>
    #include  <time.h>
    #include  <windows.h>

    #include "E:\\TengYunJiaWuSpach\\register\\tengyunjiawucache.h" //内存网络集群缓存
    #include "E:\\TengYunJiaWuSpach\\register\\WuWeiDataStruct.h" //相关数据结构定义
    #include "E:\\TengYunJiaWuSpach\\register\\WebLiberary.h" //相关 get post head 参数解析
    #include "E:\\TengYunJiaWuSpach\\register\\htmlfilter.h" //过滤和替换特殊字符,防止恶意攻击 去除 form 段
    #include "E:\\TengYunJiaWuSpach\\register\\database.h" //腾云驾雾专用数据库 DAO 部分

    #include "E:\\TengYunJiaWuSpach\\register\\cookies.h"
    #include "E:\\TengYunJiaWuSpach\\register\\base64ende.h"
    #include "E:\\TengYunJiaWuSpach\\register\\space.h"
    #include "E:\\TengYunJiaWuSpach\\register\\register.h"
    #include "E:\\TengYunJiaWuSpach\\register\\error.h"

    main()
    {
        char *address, *u;    //空间名称
        char *who, *baseusername;    //加密用户
        char *token;
        char *ct, *cm; //操作类型,具体操作

        char *spRefURL;        //HTTP_REFERER post 方式的

        //post参数解析(这可是久经考验了!)
        loadurlparams();

        ct = parambyname(&urlparamlist, "ct");    //操作类型
        cm = parambyname(&urlparamlist, "cm");    //操作命令 CRUD
        spRefURL = parambyname(&urlparamlist, "spRefURL");    

        if(spRefURL==NULL)
            printf("Location: http://cangzhuo.cn\n\n");
        
        token = strtok(spRefURL + 7, ".");

        if(token != NULL)
        {
            //判断空间是否存在
            if(!CheckSpaceExist(token))
            {
                //cookies参数解析(这可是久经考验了!)
                loadcookiesparams();
                //在验证一下空间防止伪造空间 
                readspace(token);
                if(cookiesbyname(&cookiesparamlist, "username"))
                {
                    baseusername = cookiesbyname(&cookiesparamlist, "username");
                    iniEnv(baseusername);
                    if(ainitcookies.username[0]!=0)
                    {
                        //还是要验证一下密码防止伪造 cookies
                        readuser(ainitcookies.username);
                        if ( strcmp(oneuser.password, ainitcookies.password)==0)
                        {
                            //判断空间是否存在
                            if(ainitcookies.space[0]!=0)
                            {
                                //判断是否登陆用户自己的空间
                                if( strcmp( lowercase(token), lowercase(ainitcookies.space) ) ==0)
                                {
                                    //只有这里可以执行对应提交命令 其他地方不可以
                                    //...... 所有提交都在这里进行分类处理
                                    if(strcmp(ct, "6")==0){LinkCommit(atoi(cm), token);}
                                }
                                else
                                {
                                    //printf("2");
                                    printf("Location: http://cangzhuo.cn\n\n");
                                }
                            }
                            else
                            {
                                //printf("4");
                                printf("Location: http://cangzhuo.cn\n\n");
                            }
                        }
                        else
                        {
                            //printf("5");
                            printf("Location: http://cangzhuo.cn\n\n");
                        }
                    }
                    else
                    {
                        //printf("6");
                        printf("Location: http://cangzhuo.cn\n\n");
                    }
                }
                else
                {
                    //printf("7");
                    printf("Location: http://cangzhuo.cn\n\n");
                }
            }
            else
            {
                //空间不存在
                printf("Location: http://cangzhuo.cn\n\n");
            }
        }
        else
        {
            printf("Location: http://cangzhuo.cn\n\n");
        }
        fflush(stdout);
        return;
    }

     

    上述代码是我最近新做的空间的千分之一的代码

    我用了接近 2个月的业余时间,做了一个空间
    完全采用 C语言开发的,与 baidu 空间大体上一模一样,包括界面也一模一样!
    我想下周进行开放测试!
    不知道 baidu 的大哥大姐,还有李老师有没有意见!
    如果你们有意见的话,我就不开放测试了!
    如果没有意见到时候请进行观摩!

    没意见的话:
    时间: 2007-12-22 日左右!
    具体地址到时候我会写在: http://www.tengyunjiawu.com/come/1/36/1.html

    程序完全由本人独自开发完毕!
    粗略计算了一下:可以保证 5000W 注册用户!

    我这次开发空间,增加了网络内存缓存集群!

    网络内存缓存集群名词解释:
    使用起来就好象你操作一台电脑的内存一样!
    其实数据实质上是分布在 N 台电脑的内存中! 

     
    1  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-17 18:22:481楼 得分:1
    cool!!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Thaiki
    • 等级:
    发表于:2007-12-17 18:25:052楼 得分:0
    纯c?
    貌似zend框架
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-18 09:31:533楼 得分:0
    更多详情请关注:
     http://www.tengyunjiawu.com/come/1/36/1.html

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-18 13:00:584楼 得分:0
    只支持开源活动。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-18 14:40:555楼 得分:0
     还没见过C开发的网站呢 。。
     一定得看看 。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-18 20:05:446楼 得分:0
    if 嵌套了好多层
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • FEB15
    • 等级:
    发表于:2007-12-18 20:22:017楼 得分:0
    汗!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • oyd
    • 等级:
    发表于:2007-12-19 12:49:078楼 得分:0
    我一看这代码,就知道其他地方也好不到哪去
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-19 12:57:219楼 得分:0
    强人啊。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-19 20:04:1310楼 得分:0
    看见注释里写的dao??   用 dao连数据库?? 好古老啊
    不过加油   纯c 调试好麻烦  楼主够耐心的   
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-20 09:03:4111楼 得分:0
    任重而道远啊,帮顶!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-21 08:56:5112楼 得分:0
    晕啊,代码从来没有见过这样子嵌套的!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-21 12:28:0913楼 得分:0
    引入良性競爭機制,支持...
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mynamesucks
    • 等级:
    发表于:2007-12-21 17:15:0214楼 得分:0
    只想问下“李老师”是谁啊哈哈
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-22 01:31:0315楼 得分:0
    第一时间看开源~~~XD
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-25 16:14:3116楼 得分:0
    今天是个值得纪念的日子!
    藏拙空间首次上线测试!
    地址:http://www.cangzhuo.com

    空间采用纯C语言开发完成!

    界面与baidu空间一模一样! 功能大体相同!

    欢迎大家光临并批评指正!

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-25 16:46:1117楼 得分:0
    希望能见到源码,学习学习!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • goodsong
    • 等级:
    发表于:2007-12-25 22:54:4718楼 得分:0
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Go_Rush
    • 等级:
    发表于:2007-12-26 09:24:5819楼 得分:0
    开源啊,好啊

    在 google 或者 sf 上注册项目了吗。

    svn 地址呢? 

    PHP code
    另外,给几个建议: 1. 字符串 "http://cangzhuo.cn" 最好 define 一下, 这样用常量可读性会好很多。 你代码一个函数就用了 8个 "http://cangzhuo.cn" 以后要修改起来会很痛苦的 2. printf("Location: http://cangzhuo.cn\n\n"); 这条语句出现了N次。 为什么不写成一个统一的错误处理函数呢, 调用方便,以后要维护起来也只要维护一个地方,不至于搞得 N多个地方都要改 3. if(spRefURL==NULL) printf("Location: http://cangzhuo.cn\n\n"); 这里, Location转向之前要释放资源,连接(如果有的话), 转向之后要马上调用 exit() 4. #include "E:\\TengYunJiaWuSpach\\register..." 这里写成绝对路径绝对不如写成相对路径好。 原因不要多说吧 5. 一些 if 语句最好优化一下, 对自己对其他人都会好点 比如 if (A){ if (B){ funC(); } } 太多这样的写法,为什么不写成 if (A && B){ funC(); } 呢. 6. Apache已稳定赢得了大部分的Web Server市场, 同时它是比较出名的开源程序了, 我看过他的部分源代码。 但是在他的代码里面,通篇也找不到 "这可是久经考验了" 这样的话。 可楼主代码里面,才多少行啊,就出现了多次。 记住: 这样的话,还是留给别人对你说比较好,而不是你对别人说。


    我们村里流行这样一句话: 
         如果一个人说他自己很聪明,那么他肯定是很愚蠢的。
         如果一个人说他自己很幸福,那么他一定是很幸福的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2007-12-31 00:29:1320楼 得分:0
    藏拙空间已经更新!

    http://cangzhuo.com

    这是一个完全采用纯C语言开发的空间!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • txlty
    • 等级:
    发表于:2007-12-31 02:13:3921楼 得分:0
    ?你用的什么操作系统?                                                                                                      
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-01-01 17:13:3522楼 得分:0
    什么时候开源?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-01-01 18:42:2323楼 得分:0
    用C开发的网站???真的假的啊?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-01-02 21:40:2824楼 得分:0
    首先LZ的这种精神值得称赞,本人也是学过C的,纯C的程序也写过万行的,但绝对不会用纯C做网站:
    1.纯C写的模块貌似还包括了web服务器、数据库连接,不知道内存管理方面有没有经过足够的测试?
    2.LZ的编程习惯真的很不好,19楼的帖子说的很详细了。
    3.纯C写的优势在哪里?而且运行在Win32下面,如果说性能的优势,我认为都不一定比得上老掉牙asp。

    如果真的要用C,那也是缓存方面才用,所有的逻辑处理都是C的话,那您肯定吐血了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-01-03 11:55:3725楼 得分:0
    路过
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-01-03 12:29:4326楼 得分:0
    mark
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-01-03 13:21:2827楼 得分:0
    强大!
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved