Решил сделать простой сервер времяни (в образовательных
целях), ошибок (по словам компилятора) куча а я ничего
найти не могу. Помогите пожалуйста. зараннее спасибо.
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <time.h>
#include <strings.h>
#define PORTNUM 13000
#define HOSTLEN 256
int main(int argc, char *argv[])
{
struct sockaddr_in saddrr;
struct hostent *hp;
char hostname[HOSTLEN];
int sock_id, sock_fd;
FILE *sock_fp;
char *ctime();
time_t thetime;
sock_id = socket(PF_INET, SOCK_STREAM, 0);
if(sock_id == -1)
{perror("socket"); exit(0);}
bzero((void *)&saddr, sizeof(saddr));
gethostname(hostname, HOSTLEN);
hp = gethostbyname(hostname);
bcopy((void *)hp ->h_addr, (void *)&saddr.sin_addr, hp -> H_length);
saddr.sin.port =htons(PORTNUM);
saddr.sin.family = AF_INET;
if(bind(sock_id, (struct sockaddr *)&saddr,sizeof(saddr)) != 0)
{perror("bind"); exit(0);}
if(listen(sock_id, 1) != 0)
{perror("listen"); exit(0);}
while(1){
sock_fd = accept(sock_id. NULL, NULL);
printf("YES!!!\n");
if(sock_fd == -1)
{perror("accept"); exit(0);}
sock_fd =fdopen(sock_fd, "w");
if(sock_fd == NULL);
{perror("fdopen"); exit(0);}
thetime = time(NULL);
fprintf(sock_fd, "Cur time is: ");
fprintf(sock_fd, "%s", ctime(&thetime));
fprintf(sock_fd, "End...");
fclose(sock_fd);
}
return 0;
}