|
0 #!/usr/bin/perl
1 # file: eliza_thread.pl
2 use IO::Socket;
3 use Thread;
4 use Chatbot::Eliza::Server;
5 use constant PORT => 12000;
6 my $listen_socket = IO::Socket::INET->new(LocalPort => PORT,
7 Listen => 20,
8 Proto => 'tcp',
9 Reuse => 1);
10 die "Can't create a listening socket: $@" unless $listen_socket;
11 warn "Listening for connections...\n";
12 while (my $connection = $listen_socket->accept) {
13 my $t = Thread->new(\&interact,$connection) ||
die "Can't start a thread: $!";
14 $t->detach;
15 }
16 sub interact {
17 my $handle = shift;
18 Chatbot::Eliza::Server->new->command_interface($handle,$handle);
19 $handle->close();
20 }
|
|