In standalong server, It seems works well. In my program I register many SSI, 
to user my program data.

 

I’m not sure where the problem happened . Maybe in SSI , Maybe my program.

 

Some code in my program:

 

static struct shttpd_ctx *ctx;

 

httpserver* httpserver::_this = NULL;

 

httpserver::httpserver (int port)

{

 

         Init (port);

}

 

httpserver::~httpserver ()

{

         if (m_httpthd != NULL)

                   CloseHandle (m_httpthd);

}

 

void httpserver::Init (int port)

{

         //static char              *argv = {"", "-ports", 80, NULL};

         //int                    argc = sizeof(argv) / sizeof(argv[0]) - 1;

 

         ctx = shttpd_init (0, NULL);

         m_httpthd = NULL;

         // root document

         shttpd_set_option (ctx, "root", ".\\www\\");

         shttpd_set_option (ctx, "index_files", "index.shtml");

 

         //  config url, must in other front.

         shttpd_set_option(ctx, "cfg_uri", "/cfg");

 

         // AJAX  url register

         shttpd_register_uri(ctx, "/ajax/*/", &uri_func_ajax, NULL);

         shttpd_register_uri(ctx, "/logout", &show_logout, NULL);

 

         shttpd_set_option(ctx, "auth_realm", DOMAIN_NAME);

         shttpd_set_option(ctx, "auth_gpass", PASSFILE);

 

         //set_cfg_uri (ctx, "/cfg");

 

 

         // SSI function register

         shttpd_register_ssi_func(ctx, "ssi_func_navmenu",               
ssi_func_navmenu,          NULL);

         shttpd_register_ssi_func(ctx, "ssi_func_serverlic",                
ssi_func_serverlic,            NULL);

         shttpd_register_ssi_func(ctx, "ssi_func_serverstate", 
ssi_func_serverstate,      NULL);

         shttpd_register_ssi_func(ctx, "ssi_func_serverversion",       
ssi_func_serverversion,  NULL);

         shttpd_register_ssi_func(ctx, "ssi_func_systemlog",             
ssi_func_systemlog,                  NULL);

         shttpd_register_ssi_func(ctx, "ssi_func_decryptlog",   
ssi_func_decryptlog,        NULL);

         shttpd_register_ssi_func(ctx, "ssi_func_clientlist",       
ssi_func_clientlist,  NULL);

         shttpd_register_ssi_func(ctx, 
"ssi_func_Departmentlist",ssi_func_Departmentlist,NULL);

         shttpd_register_ssi_func(ctx, "ssi_func_Managerlist",         
ssi_func_Managerlist,     NULL);

         shttpd_register_ssi_func(ctx, "ssi_func_PageNav",                
ssi_func_PageNav,           NULL);

 

         shttpd_set_option(ctx, "access_log", "c:\\a.log");

         //shttpd_set_option(ctx, "error_log", "c:\\e.log");

         shttpd_set_option(ctx, "ports", "80");

}

 

BOOL httpserver::startHttpServer (int port)

{

         if (_this == NULL)

                   _this = new httpserver (port);

 

         _this->m_httpthd = CreateThread (0, 0, 
(LPTHREAD_START_ROUTINE)httpserver::ThreadProc, NULL, 0, NULL);

 

         return TRUE;

}

 

LRESULT CALLBACK httpserver::ThreadProc()

{

//      edit_passwords (PASSFILE, DOMAIN_NAME, "admin", "123456");

 

         for (;;)

                   shttpd_poll(ctx, 10000);

}

 

And http server run in a single thread.

 

 

发件人: Sergey Lyubka [mailto:[EMAIL PROTECTED] 
发送时间: 2008年6月6日 16:38
收件人: Cui Jindong
抄送: shttpd-general
主题: Re: [shttpd-general] File Download

 

Does it manifest itself in standalone server?

On Fri, Jun 6, 2008 at 7:38 AM, Cui Jindong <[EMAIL PROTECTED]> wrote:

Hi guys:

 

I found a problem, and I don't know if it is a bug. 

 

I embed SHTTPD in my program, It seems that while mutiusers download a file 
such as a .gif picture. SHTTPD while block.

 

Is anyone found? My HTTP files maybe download the same file twice.

 

thanks the great program, nice project. But my English is pool, sorry.

 

 

Snox Abbey (China)  


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
shttpd-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/shttpd-general

 

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
shttpd-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/shttpd-general

Reply via email to