#c #sockets
#c #сокеты
Вопрос:
У меня есть приведенный ниже код для клиента и сервера.
Для связи в Linux используется программирование сокетов.
Клиент
...
//after connecting to the server
while(1){
recv();//recv from the serv
//get user input using scanf()
send();
}
...
Сервер
...
//Create a thread to handle each client request
//Inside client thread
while(1){
send()
...
recv()
}
...
Здесь клиент получает сообщение от только после отправки чего-либо на сервер.
Но мне нужно получить сообщение, даже не отправляя ничего на сервер.
Нужно ли мне обрабатывать это с помощью многопоточности в клиенте? Или любым другим способом?
Комментарии:
1. И как сервер узнает о клиенте? Разве это не противоречит всей концепции архитектуры «клиент-сервер»?
2. Почему бы не поискать свободно доступные простые коды примеров клиент / сервер, такие как «чат»?
3. @EugeneSh. Все, что я получаю в поиске, имеет пару send и recv. Мне нужно что-то вроде того, что сервер продолжает отправлять текстовые сообщения несколько раз, и клиент может ответить, когда захочет. Но здесь происходит то, что сервер отправляет что-то, и клиент должен ответить на это, чтобы получить следующее сообщение от сервера.
4. Это школьный проект? почему бы не использовать существующую библиотеку, например libuv или facil.io для сетевого уровня?