Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<sys/types.h>
- #include<netinet/in.h>
- #include<sys/socket.h>
- #include<stdio.h>
- #include<string.h>
- #include<fcntl.h>
- #include<unistd.h>
- #define MYPORT 9303
- #define BUFSIZE 2048
- int main(int argc, char **argv)
- {
- struct sockaddr_in myaddr;
- struct sockaddr_in remaddr;
- socklen_t addrlen = sizeof(remaddr);
- int sockfd, recvlen, fd, count;
- char buf[BUFSIZE];
- if((sockfd = socket(AF_INET,SOCK_DGRAM,0))<0)
- {
- perror("cannot create socket");
- return 0;
- }
- printf("created socket: descriptor = %d\n",sockfd);
- memset((void *)&myaddr, 0, sizeof(myaddr));
- myaddr.sin_family = AF_INET;
- myaddr.sin_addr.s_addr = htonl(INADDR_ANY);
- myaddr.sin_port = htons(MYPORT);
- if(bind(sockfd, (struct sockaddr *)&myaddr, sizeof(myaddr)) < 0)
- {
- perror("bind failed");
- return 0;
- }
- printf("bind complete. Port number = %d\n",ntohs(myaddr.sin_port));
- //Code to receive & send the data
- printf("waiting on port %d\n",MYPORT);
- recvlen = recvfrom(sockfd, buf, BUFSIZE, 0, (struct sockaddr *)&remaddr, &addrlen);
- printf("received %d bytes\n", recvlen);
- if(recvlen > 0)
- {
- buf[recvlen]=0;
- printf("received message: \"%s\"\n",buf);
- }
- if((fd=open(buf,O_RDONLY,0))<0){
- perror("File not found");
- exit(0);
- }
- while((count=read(fd,buf,BUFSIZE))>0)
- printf("%d",count);
- sendto(sockfd, count, count, 0, (struct sockaddr *)&remaddr, &addrlen);
- }
Advertisement
Add Comment
Please, Sign In to add comment