X-Git-Url: https://hackdaworld.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=stream.c;fp=stream.c;h=0000000000000000000000000000000000000000;hb=0e2dd277897f8959e363564b91dd7d098fb4873c;hp=07439a58975b2e3cf03f5e0ae9f58e39bf0b9bbd;hpb=6b894156a6cd304f35a959d4388dfb1e1342e844;p=my-code%2Fivac.git diff --git a/stream.c b/stream.c deleted file mode 100644 index 07439a5..0000000 --- a/stream.c +++ /dev/null @@ -1,119 +0,0 @@ -/* stream.c - 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 - -/* timing stuff */ -#include - -/* defines ... */ -#define MAX_SIZE 1024 -#define PRINT_RATE 100 - -int print_rate(struct timeval *time_start,int t) { - struct timeval now; - int sec_t,usec_t; - unsigned int delta_t; - unsigned int kbs_t; - int count; - - gettimeofday(&now,NULL); - sec_t=now.tv_sec-time_start->tv_sec; - usec_t=(now.tv_usectv_usec) - ?1000000-time_start->tv_usec+now.tv_usec - :now.tv_usec-time_start->tv_usec; - delta_t=sec_t*1000000+usec_t; - kbs_t=(t/delta_t)*(1000000/1024); - count=printf("total: %d MByte - average: %d kB/s ",t/(1024*1024),kbs_t); - while(count--) printf("\b"); - - - return 1; -} - -int main(int argc, char *argv[]) { - int listen_fd, send_fd; - struct sockaddr_in local_addr, remote_addr; - socklen_t remote_addr_len; - int send_bytes, read_bytes, total_read=0, total_send=0; - struct timeval time_start; - int i=0; - - if(argc!=2) { - printf("usage: %s \n",argv[0]); - exit(1); - } - - if((listen_fd=socket(AF_INET,SOCK_STREAM,0)) == -1) { - printf("can't open socket.\n"); - exit(1); - } - - memset(&local_addr,0,sizeof(local_addr)); - local_addr.sin_family=AF_INET; - local_addr.sin_port=htons(atoi(argv[1])); - local_addr.sin_addr.s_addr=htonl(INADDR_ANY); - - if(bind(listen_fd,(struct sockaddr *)&local_addr,sizeof(local_addr))==-1) { - printf("unable to bind on port %d.\n",atoi(argv[1])); - perror("bind"); - exit(1); - } - - if(listen(listen_fd,1)==-1) { - printf("error listening on port %d.\n",atoi(argv[1])); - exit(1); - } - - remote_addr_len=sizeof(remote_addr); - if((send_fd=accept(listen_fd,(struct sockaddr *)&remote_addr, - &remote_addr_len))!=-1) { - printf("accepting connection from %s port %d.\n", - inet_ntoa(remote_addr.sin_addr), - ntohs(remote_addr.sin_port)); - - /* time init */ - gettimeofday(&time_start,NULL); - - /* send stuff .... */ - read_bytes=1; - while(read_bytes>0) { - unsigned char buf[MAX_SIZE]; - - read_bytes=read(0,buf,sizeof(buf)); - total_read+=read_bytes; - send_bytes=send(send_fd,buf,read_bytes,0); - total_send+=send_bytes; - if(!((i++)%PRINT_RATE)) print_rate(&time_start,total_send); - } - - close(send_fd); - close(listen_fd); - printf("connection closed ...\n"); - printf("%d from %d total bytes sent.\n",total_send,total_read); - } - return 0; -}