Perl UDP-сервер: Как получить сокет клиента? - PullRequest
0 голосов
/ 29 декабря 2018

С помощью TCP-сервера легко получить клиентский сокет:

$new_sock = $sock->accept();

Однако на сервере UDP, похоже, нет способа извлечь клиентский сокет, поэтому я могу обратиться к нему позже.

Client_A->UDPServer (store client socket)
Client_B->UDPServer
Client_B<-UDPServer
Clinet_A<-UDPServer (retrieve client socket)

1 Ответ

0 голосов
/ 29 декабря 2018

1) Сохраните каждого клиента, от которого была получена датаграмма:

push @client, $sock->peername;

2) В какой-то момент отправьте им ответ - все сразу:

for my $client( @client) {
    #send SOCKET,MSG,FLAGS,**TO**
    send($sock, "Hey\n", 0, $client);
    #                       ^^^^^^^ 4.Parameter: TO
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...