Я использую xinetd для предоставления простой службы, которая в основном должна возвращать только строковое значение.
Услуга необходима для поддержка tcp и udp.
В услуги tcp выглядит так и работает как положено:
service simple-tcp
{
disable = no
type = UNLISTED
id = tcp-service
socket_type = stream
port = 20
protocol = tcp
user = nobody
wait = no
server = /bin/echo
server_args = Hello World.
instances = 25
log_on_success += DURATION HOST
log_on_failure += ATTEMPT HOST
per_source = 5
}
Так что я хотел сделать то же самое для служба udp но я пока не могу заставить его работать.
service udp-service
{
disable = no
type = UNLISTED
id = udp-service
socket_type = dgram
port = 25
protocol = udp
user = nobody
wait = yes
server = /bin/echo
server_args = Hello World.
instances = 25
log_on_success += DURATION HOST
log_on_failure += ATTEMPT HOST
per_source = 5
}
Я реализовал wait = yes
для udp нужно. Подключение регистрируется, если я отправляю данные в службу, но не могу получить ответ. И файл журнала содержит «status = 1», что указывает на ошибку. Но я понятия не имею, как сузить круг вопросов.
Может ли кто-нибудь объяснить, что происходит, и есть ли способ исправить это или другой простой способ просто вернуть строку через udp?