Написал сервер с сокетом, но чё-то всё не так, как надо идёт:
Сервер должен сначало получать от клиента запрос, после получения такового он соответсвенно ему выдаёт нужную инфу клиенту, трудность заключается в том, как сделать так, чтобы клиенту каждый раз не надо было отсоедниняться и в любой момент можно было получить информацию???
вот часть кода:
.......................
for ( ; ; ) {
if((client_so = accept(server_so, (struct sockaddr*)&client_address, (socklen_t *)&sock_size)) == -1) {
shutdown(server_so, 0);
printf("Can't ACCEPT connection\n");
return -1;
}
else {
char buf[NET_BUF_SIZE];
//Get action
recv(client_so, buf, NET_BUF_SIZE, 0);
//Send number of records
char n[NET_BUF_SIZE];
int nums = baseNums();
sprintf(n, "%i", nums);
send(client_so, n, NET_BUF_SIZE, 0);
switch(atoi(buf)) {
case GET_IP:
for (int i = 1; i <= nums; i++) {
baseRead(i, IP, buf);
send(client_so, buf, NET_BUF_SIZE, 0);
}
break;
case GET_ACCESS:
for (int i = 1; i <= nums; i++) {
baseRead(i, ACCESS, buf);
send(client_so, buf, NET_BUF_SIZE, 0);
}
break;
}
}
}
shutdown(server_so, 2);
........................