У меня есть сервер и клиентское приложение, мой сервер прослушивает порт 10015 и клиент, который отправляет команды на этот порт.В настоящее время оба работают на одной машине, но в будущем цель будет работать на разных машинах.У меня сейчас работает эта часть.
Что мне нужно сделать дальше, так это чтобы мой сервер отправлял команды и моему клиенту.Поэтому я подумал, что могу просто повторно использовать свой код со своего сервера в моем клиенте для прослушивания порта.
Но я не уверен, что это лучший способ сделать это.Предложения?
Когда я впервые попробовал это, я сначала запустил свое клиентское приложение, и оно отправило команду себе.Моему серверному приложению не удалось привязаться к порту (я полагаю, что вы можете иметь только один процесс, прослушивающий данный порт?)
Вопрос 1) Как сервер может отправлять команды клиенту?Нужно ли создавать сервер -> связь с клиентом на порту 10015 и клиент ---> сервер на другом порту, например 10016?
Вопрос 2) Когда я отправляю команду с клиента -> серверс send (), каков наилучший способ получить ACK для этой конкретной команды?Если мне не нужно отправлять какие-либо данные назад, есть ли способ просто автоматически получать ACK при получении пакета сервером?
В настоящее время я делаю это для каждой команды, которую я хочу отправить:
create socket()
conenct() to socket
send() packet
then call recv() to receive any data
then shutdown() connection
and closesocket() at end
не уверен, есть ли лучший способ сделать это?Я ожидаю посылать где-то от 1 до 10 команд в секунду, когда мое приложение занято.
спасибо, я новичок в этом сетевом приложении, поэтому любая помощь очень ценится.
Редактировать после прочтения некоторых комментариев :
Я использую протокол TCP.Когда я сказал ACK, я имел в виду, что я просто хотел получить от другого приложения подтверждение, что команда была получена и обработана без ошибок