Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <sys/socket.h>
- #include <arpa/inet.h>
- #include <stdio.h>
- #include <time.h>
- #include <string.h>
- #include <stdlib.h>
- #include <unistd.h>
- #define MAX_BUFFER 128
- #define MAX_BACKLOG 5
- int main(int argc, int *argv[]){
- int serverFd, connectionFd;
- struct sockaddr_in servaddr;
- if (argc != 2) {
- fprintf(stderr, "Usage: %s <Server Port>\n", argv[0]);
- exit(1);
- }
- int port = atoi(argv[1]);
- serverFd = socket(AF_INET, SOCK_STREAM, 0);
- memset(&servaddr, 0 ,sizeof(servaddr));
- servaddr.sin_family = AF_INET;
- servaddr.sin_port = htons(port);
- servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
- bind(serverFd, (struct sockaddr*)&servaddr, sizeof(servaddr));
- listen(serverFd, MAX_BACKLOG);
- system("uptime > text");
- FILE *file = fopen("text", "r");
- if( !file) perror ("text.txt"),exit(1);
- char uptimeTab[MAX_BUFFER + 1];
- int i;
- for( i = 0; i < MAX_BUFFER; i++){
- fscanf (file, "%c", &uptimeTab[i]);
- }
- while (1){
- connectionFd = accept(serverFd, (struct sockaddr*)NULL, NULL);
- if(connectionFd >= 0){
- char buffer[MAX_BUFFER + 1];
- snprintf(buffer, MAX_BUFFER, uptimeTab );
- write(connectionFd, buffer, strlen(buffer));
- close(connectionFd);
- }
- }
- return(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment