Skip to content
This repository has been archived by the owner on Jun 30, 2020. It is now read-only.

Commit

Permalink
Better variable names + no longer adding a newline to request body
Browse files Browse the repository at this point in the history
  • Loading branch information
benjaminoakes committed Oct 25, 2011
1 parent 8081dd1 commit f9a4b52
Showing 1 changed file with 22 additions and 22 deletions.
44 changes: 22 additions & 22 deletions mhttpd.c
Expand Up @@ -12,51 +12,51 @@ static void ns_error(const char *msg) {
* @see http://www.linuxhowtos.org/data/6/server.c, http://www.linuxhowtos.org/C_C++/socket.htm
*/
static void ns_listen(int port) {
int servsockfd, clisockfd;
socklen_t clilen;
char buffer[BUFSIZ];
struct sockaddr_in serv_addr, cli_addr;
int req_sock_fd, res_sock_fd;
socklen_t res_len;
char req_buffer[BUFSIZ];
struct sockaddr_in req_addr, res_addr;
int n;

servsockfd = socket(AF_INET, SOCK_STREAM, 0);
req_sock_fd = socket(AF_INET, SOCK_STREAM, 0);

if (servsockfd < 0) {
ns_error("ERROR opening socket");
if (req_sock_fd < 0) {
ns_error("Error opening socket");
}

bzero((char*) &serv_addr, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = INADDR_ANY;
serv_addr.sin_port = htons(port);
bzero((char*) &req_addr, sizeof(req_addr));
req_addr.sin_family = AF_INET;
req_addr.sin_addr.s_addr = INADDR_ANY;
req_addr.sin_port = htons(port);

if (bind(servsockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) {
if (bind(req_sock_fd, (struct sockaddr *) &req_addr, sizeof(req_addr)) < 0) {
ns_error("Error binding");
}

listen(servsockfd, MAX_Q_LEN);
clilen = sizeof(cli_addr);
clisockfd = accept(servsockfd, (struct sockaddr *) &cli_addr, &clilen);
listen(req_sock_fd, MAX_Q_LEN);
res_len = sizeof(res_addr);
res_sock_fd = accept(req_sock_fd, (struct sockaddr *) &res_addr, &res_len);

if (clisockfd < 0) {
if (res_sock_fd < 0) {
ns_error("Error accepting");
}

bzero(buffer, BUFSIZ);
n = read(clisockfd, buffer, BUFSIZ - 1);
bzero(req_buffer, BUFSIZ);
n = read(res_sock_fd, req_buffer, BUFSIZ - 1);

if (n < 0) {
ns_error("Error reading from socket");
}

printf("%s\n", buffer);
n = write(clisockfd, "I got your message\n", 19);
printf("%s", req_buffer);
n = write(res_sock_fd, "I got your message\n", 19);

if (n < 0) {
ns_error("Error writing to socket");
}

close(clisockfd);
close(servsockfd);
close(res_sock_fd);
close(req_sock_fd);
}

ns const mhttp = {
Expand Down

0 comments on commit f9a4b52

Please sign in to comment.