Sponsored Content
Full Discussion: C - HTTP Socket Programming
Top Forums Programming C - HTTP Socket Programming Post 302307509 by Corona688 on Wednesday 15th of April 2009 02:28:43 PM
Old 04-15-2009
Quote:
Originally Posted by kev_1234
Well I am not really fussed about how much I get back host as long as I get back some info.Smilie
Could you rephrase that? I'm not sure what you were trying to say.
Quote:
1. Client sends a request to the Server for "GET /index.html HTTP/1.1\r\n\r\n".
Oh, you want to make a web server? The client needs to send() this information over the socket, see man 2 send.
Quote:
2. Server accepts the connection and then sends the requested material back to the client basically dumping the information of index.htmlo on the client.
This leaves out a whole bunch of steps, which may be why you're stymied.
  • Accept the connection
  • Read from it until \r\n\r\n -- recv() cares not about linefeeds, it just gives you chunks of data, so you may need to do a loop reading one character at a time in order to spot when the line ends.
  • Process the request -- you need to break "GET /index.html HTTP/1.1" into its component parts. You may be able to do this with sscanf():
    Code:
    char code[64], url[512], standard[64];
    sscanf(buf, "%s %s %s", code, url, standard);

    This is a fairly quick-and-dirty solution. A better way may be to use strtok().
  • Convert /index.html into /path/to/webroot/index.html -- standard C string functions should do here.
    Code:
    char filename[512];
    FILE *fp;
    strcpy(filename, "/path/to/webroot/");
    strcat(filename, webfile);

  • Open the given file, read from it, and send it to the socket
    Code:
    size_t sent;
    char buf[512];
    FILE *fp=fopen(filename, "r");
    if(fp == NULL)
    {
      fprintf(stderr, "Couldn't open %s\n", filename);
      return(1);
    }
    
    while( (sent=fread(buf, 512, 1 fp)) > 0)
    {
      send(sock, buf, sent, 0);
    }
    
    fclose(fp);

 

10 More Discussions You Might Find Interesting

1. Programming

Socket Programming

Dear Reader, Is there any way to check up socket status other than 'netstatus ' Thanks in advance, (1 Reply)
Discussion started by: joseph_shibu
1 Replies

2. Programming

Socket Programming socket

Hello, I actually try to make client-server program. I'm using SCO OpenServer Release 5.0.0 and when I try to compile my code (by TELNET) I've got this error : I'm just using this simple code : and I get the same error if I use : If someone can help me, Thanks (2 Replies)
Discussion started by: soshell
2 Replies

3. IP Networking

socket programming

my system is a stand alone system... i want to try doing socket porgramming..ihave heard that this is usually done during testing... how can i do that....? (6 Replies)
Discussion started by: damn_bkb
6 Replies

4. Programming

Socket programming

Hello!:) I'm trying to do some socket programming based on the following situation: I have a directory service named Casino that will hold all the information regarding the gamers that will try to connect to it in order to play a game(for example (Blackjack).Once they make the login they are... (4 Replies)
Discussion started by: maracumbigo
4 Replies

5. Programming

HTTP Keep-Alive socket problem

Hello everyone, I am a newbie in UNIX/Linux socket programming. This is a class project that I had trouble with. ================================================== I was trying to make “Keep-Alive” HTTP connections to the server in a tiny web crawler project. Here is the problem: when I tried... (0 Replies)
Discussion started by: imdupeng
0 Replies

6. IP Networking

socket programming

Hello Everyone Iam working on tcp/ip programming.with some time interval server has to send data.client has to close the connection and to open the connection between the time interval.this is the scenario when iam closing the connection in client side the connection terminates.how to... (1 Reply)
Discussion started by: sureshvaikuntam
1 Replies

7. Programming

unable to get end of file while reading HTTP data from socket

I am trying to read HTTP data from a socket. However, for the final set of data being read using read(), read blocks and the control doesnt come back for further processing. I tried using select, but it didn't work... Any help would be greatly acknowledged.:) (2 Replies)
Discussion started by: Harish.joshi
2 Replies

8. Programming

sending http url through http socket programming..

hi am senthil am developing a software to send and receive SMS using HTTP connection first of all am forming a URL and sending that URL to a remote server using my Client Program i send that url through Socket(using Send() Function) if i send more than one URL one by one using the same... (0 Replies)
Discussion started by: senkerth
0 Replies

9. Shell Programming and Scripting

sending http url through http socket programming..

hi am senthil am developing a software to send and receive SMS using HTTP connection first of all am forming a URL and sending that URL to a remote server using my Client Program i send that url through Socket(using Send() Function) if i send more than one URL one by one using the same... (4 Replies)
Discussion started by: senkerth
4 Replies

10. Programming

socket programming

how to include socket.h in visual studio 2005.. (2 Replies)
Discussion started by: asd123
2 Replies
All times are GMT -4. The time now is 04:28 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy