Я реализовал клиентский сервер с помощью программирования сокетов в C на Unix OS. Я использовал неблокирующий сокет на стороне клиента. Я хочу реализовать двустороннюю связь. Но он работает только одним способом: клиент может читать и записывать данные на сервере, а сервер не может читать или записывать данные на клиенте.
Клиент
nread = recv(sock, ptr, nleft, MSG_DONTWAIT))
send(sock, ptr, nleft, 0))
Сервер
recv(sock, ptr, nleft, MSG_DONTWAIT))
SockWrite(sock, Message, dataLength)
Сервер всегда сталкивается с проблемой при чтении. Кто-нибудь может мне объяснить, почему и как от этого избавиться?