[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(no subject)
From: |
Amod Vaidya |
Subject: |
(no subject) |
Date: |
Wed, 18 Oct 2000 23:18:56 -0700 (MST) |
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)
address@hidden
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);
}
- (no subject), Enrique Cárdenas Hoeflich, 2000/10/11
- (no subject),
Amod Vaidya <=