Автор Тема: помогите разобраться с tcp  (Прочитано 1747 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mstf

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 23
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
помогите разобраться с tcp
« : 01 Июля 2005, 10:14:03 »
Есть два модуля один сервер
//////////////////
#!/usr/bin/perl -w
    use strict;
    use IO::Socket;
        use warnings;
    my $port = 2346;

    my $server = new IO::Socket::INET (
                                    LocalPort  => $port,
                                    Type => SOCK_STREAM,
                                    Listen =>10
                                        )
           or die "не могу подключиться";

        local $| =1;
                while (my $client = $server->accept()) {
                        my $response = <$client>;
                        print ("Form client: $response\\n");
                        print ($client "answer");
                        }

close ($server) or die ("i can\'t");
/////////////////

другой клиент
/////////////////
#!/usr/bin/perl -w
    use strict;
    use IO::Socket;
    my $host = \'localhost\';
    my $port = 2346;

    my $socket = new IO::Socket::INET (
                                    PeerAddr  => $host,
                                    PeerPort  => $port,
                                    Proto => "tcp",
                                    Type => SOCK_STREAM)
           or die "не могу подключиться";

        local $| =1;
        print ($socket "texxxxxxtt");

        my $response = <$socket>;
        print("$response done\\n");

close ($socket) or die ("i can\'t");
/////////////////

Вопрос возник. В серверной части видно, что я получив сообщение от клиента вывожу в консоль полученное сообщение и пытаюсь ему отправить ответ, но ответ почему то  клиенту не приходит. Связано ли это с тем что я использую
while (my $client = $server->accept()) {
}
?
Я так думаю что сервер слушает порт и не может отправить сообщение на этот порт. Так ли это. Или может проблемы кроется в другом. Есть ли возможность постоянно слушать порт и при поступлении сообщений отправлять ответ.

Спасибо.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28