X-Git-Url: https://www.hackdaworld.org/gitweb/?a=blobdiff_plain;f=old%2Freceive.c;fp=old%2Freceive.c;h=9fe86e256bb98ff132608ffa01f173d64c984cd1;hb=0e2dd277897f8959e363564b91dd7d098fb4873c;hp=0000000000000000000000000000000000000000;hpb=6b894156a6cd304f35a959d4388dfb1e1342e844;p=my-code%2Fivac.git diff --git a/old/receive.c b/old/receive.c new file mode 100644 index 0000000..9fe86e2 --- /dev/null +++ b/old/receive.c @@ -0,0 +1,70 @@ +/* receive.c - receive from streaming server + * + * author: hackbard + * + */ + +#include +#include + +/* memset */ +#include + +/* socket and bind stuff */ +#include +#include + +/* sockkaddr_in */ +#include + +/* inet_ntoa ... */ +#include + +/* errno stuff ... */ +#include + +/* read, close */ +#include + +/* defines ... */ +#define MAX_SIZE 1024 + +int main(int argc, char *argv[]) { + int receive_fd; + struct sockaddr_in target_addr; + int receive_bytes, write_bytes; + + if(argc!=3) { + printf("usage: %s \n",argv[0]); + exit(1); + } + + if((receive_fd=socket(AF_INET,SOCK_STREAM,0)) == -1) { + printf("can't open socket.\n"); + exit(1); + } + + memset(&target_addr,0,sizeof(target_addr)); + target_addr.sin_family=AF_INET; + target_addr.sin_port=htons(atoi(argv[2])); + target_addr.sin_addr.s_addr=inet_addr(argv[1]); + + if(connect(receive_fd,(struct sockaddr *)&target_addr,sizeof(target_addr))==-1) { + printf("unable to connect.\n"); + perror("connect"); + exit(1); + } + + receive_bytes=1; + while(receive_bytes>0) { + unsigned char buf[MAX_SIZE]; + receive_bytes=recv(receive_fd,buf,sizeof(buf),0); + write_bytes=write(1,buf,receive_bytes); + } + + close(receive_fd); + printf("connection closed ...\n"); + printf("%d from %d total bytes written.\n",write_bytes,receive_bytes); + + return 0; +}