www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/10/12/07:11:14

Message-Id: <199910120447.HAA08927@ankara.Foo.COM>
From: "S. M. Halloran" <mitch AT duzen DOT com DOT tr>
Organization: User RFC 822- and 1123-compliant
To: djgpp AT delorie DOT com
Date: Tue, 12 Oct 1999 08:54:11 +0200
MIME-Version: 1.0
Subject: Re: Question regarding CGI
In-reply-to: <3801EC95.41F88309@bspu.unibel.by>
X-mailer: Pegasus Mail for Win32 (v3.12)
Reply-To: djgpp AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

I was aware that the Windows environment (16 or 32-bit) does not do IPC with MS-
DOS programs (which either points to MS-DOS' major weaknesses in trying to 
emulate Unix or to making bad assumptions about the potential of a single-user 
single-task system).  The original poster did not actually say what development 
system he was using:  I had assumed he was using a system that developed Win32 
programs like RSXNTDJ rather than making a 32-bit DOS program.

On systems I work with the client (browser) would just wait and wait and 
possibly timeout with a confusing message when the server is requested to run a 
CGI app, and then the server itself waits for something that will never come.  
I don't think I have ever seen a client or server report something like the 
proper headers didn't come.

> "S. M. Halloran" wrote:
> > 
> > >
> > > Been using djgpp for a little while now on windows nt.
> > > Today I decided to try to write a CGI application to use via
> > > Windows NT's Peer web service's web server. The code ( fairly
> > > simplistic, included below ). I get an error when I try to run
> > > it, claiming that the application didn't return the proper http
> > > headers, it then includes nothing as the error.
> > > I compiled the same code under Visual C++ on my work PC, and
> > > it runs fine... what gives ?
> > >
> > > I couldn't find any references to CGI or problems related to it
> > > in the DJGPP FAQ.
> > >
> > > TIA !
> > >
> > >
> > > - Bub
> > >
> > > /*----------- foo.c --------------------
> > >    cgi app that prints blah blah in red
> > > */
> > >
> > > #include <stdio.h>
> > >
> > > int
> > > main(int argc, char **argv)
> > > {
> > >   fprintf(stdout,"Content-Type: text/html\n\n");
> >                                            ^^^^^
> > Try this: "Content-Type: text/html\r\n\r\n"
> > Read the RFCs on HTTP 1.0 and 1.1 so that you understand why.
> > 
> > You should also be aware of your server's capabilities.  The server must lead
> > the response to the client with a 3-digit code and an optional message,
> > followed by valid HTTP headers, and then the message body.  If your CGI app is
> > expected to supply all headers and the server merely transfers the output, you
> > may have to supply an entire response that conforms with HTTP.  If so, then
> > know the spec.
> > 
> > The Visual C++ compiler may be translating the '\n' as '\r\n' for you.  Try
> > this:  instead of stdout, save to a file the DJGPP- and Visual C++ output and
> > look at it with a binary editor (such as MS-DOS Edit with the 'open binary'
> > checked).
> The main problem is that most of Windows HTTP-servers could not execute
> DOS-based CGIs. DJGPP is not an environment that can be used for CGI
> programming under Windows. Use CygWin instead.
> -- 
> Sincerely yours, 
> Alexander Bokovoy 
> <!-- 2:450/144.58 --- bokovoyATminsk.lug.net --- FractalsAtTheEdge -->



Mitch Halloran
Research (Bio)chemist
Duzen Laboratories Group
Ankara       TURKEY

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019