W3C home > Mailing lists > Public > www-lib@w3.org > October to December 2000

[www-lib] <none>

From: Amod Vaidya <avaidya@amex-trs.com>
Date: Thu, 19 Oct 2000 02:21:20 -0400 (EDT)
Message-ID: <200010190619.XAA01476@s08.csv-tgsc.amex-trs.com>
hi! all, 

here is a program that i am wirting to access URL's from c program
it is connecting to the IP address that I am giviing but not getting 
any data from it.

It is also not working with URL's , that means i am not able to 
give "www.xxxxx" type of things here can any one please suggest any way 
for me any modification to be specific, I will be glad to accept any 
suggestion from you,

with regards,
Sudipto.


You can give reply to( donot reply to the address froom which I am mailing)


 sudipto74@yahoo.com


here is the programe that I am writing.


#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <netinet/in.h>
#include <arpa/inet.h>

#define SERVER_PORT 80
#define SERV_HOST_ADDR "203.163.50.62"
int readline(int fd, char *ptr,int maxlen)
{
	int n,rc;
	char c;

	for(n=1;n<maxlen;n++)
	{
		if ( (rc = read (fd,&c,1)) == 1 )
 		{
			*ptr++=c;
			if ( c =='\n') break;
		} else if  ( rc ==0 ) {
			 	if ( n==1) return(0);
				else break;	
			} else return(-1);
		
	}
	*ptr = 0;
	return(n);
}


int writen(int fd, char * ptr,int nbytes)
{
	int nleft, nwritten;

	nleft = nbytes;
	while (nleft > 0)
 	{
		nwritten = write (fd, ptr, nleft);
		if ( nwritten <= 0 ) return(nwritten);
		nleft -= nwritten;
		ptr += nwritten;
	}
	return(nbytes - nleft);
}

int str_cli(fp,sockfd)
FILE *fp;
int sockfd;
{
	int n;
	char sendline[80], recvline[81];

	while(fgets(sendline, 80,fp) != NULL )
	{
		n = strlen(sendline);
		if (writen(sockfd,sendline,n) != n )
		printf("written error on socket\n");
		
		n = readline(sockfd,recvline,80);
		if ( n<0) printf("readline error\n");
		recvline[n] = 0;
		fputs(recvline,stdout);
	}
	if (ferror(fp)) printf("error reading file\n");

}
int main(int argc, char *argv[])
{
	int sd;
	struct sockaddr_in serv_addr;


	
	
	bzero((char *) &serv_addr, sizeof(serv_addr));

	serv_addr.sin_family = AF_INET;
	serv_addr.sin_addr.s_addr = inet_addr(SERV_HOST_ADDR);
	serv_addr.sin_port = htons(SERVER_PORT);

	sd = socket(AF_INET, SOCK_STREAM,0 );
	
	if ( sd < 0 )
	{
		 printf("cannot open the socket");
		 exit(1);
	}

	if (connect(sd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0 )
	printf("cannot be connected\n");
	else {
		printf("connection established");
	}	
	str_cli(stdin,sd);
	close(sd);

	exit(0);

}
Received on Thursday, 19 October 2000 02:50:39 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 23 April 2007 18:18:38 GMT