Thread Windows 7 Konsole nicht einfach beenden (18 answers)
Opened by Mike at 2011-08-03 09:32

the0MIKE
 2011-08-03 14:58
#151084 #151084
User since
2011-08-03
9 Artikel
BenutzerIn
[default_avatar]
ja eigentlich schon ;)
nochmal alles damit man es nachvollziehen kann was geändert wurde
Code (perl): (dl )
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
#!C:\Perl\bin\perl

##===============    Fehlermeldungen/DEBUG      ===============##
#use warnings;
#use strict;
#use diagnostics;
##===============               END             ===============##

##===============    INI-Benötigte Befehle     ===============##
        use Config::IniFiles;
        my $config = Config::IniFiles->new( -file => "tsreader.ini" );
        my $port = $config->val("port", "tsport");
        my $ip = $config->val("ip", "tsip");
        my $pfad1 = $config->val("pfad", "phtml1");
        my $pfad2 = $config->val("pfad", "phtml2");
        my $freq1 = $config->val("frequenz", "freq1");
        my $freq2 = $config->val("frequenz", "freq2");

##===============               END             ===============##

##===============    Variablen Declarieren      ===============##
my $t = '';
my $function = "Funktion:";
my $doit = '';
my $dont_send = '';
my $chart = '';
my $program_number = '';
my $multicast_address = '';
my $multicast_port = '';
my @line = '';
##===============               END             ===============##

##===============  Verbindung/Controll TSreader ===============##

use Telnet ();

##===============       Connect to TSReader     ===============##

    $t = new Net::Telnet (Timeout => 1,
                                                  Port => $port);
        eval{$t->open($ip);};

my $x = 100;
for (my $i=1; $i<$x;){
##===============       Display TSReader sent us===============##
    @line = $t->getline();
    print "TSReader connected.\nResponse: @line\n";

##===============       Display functions       ===============##
        print "Functions supported are:\n";
        print " 1 - print programs in mux\n";
        print " 2 - display graph\n";
        print " 3 - switch to a multicast UDP mux\n";
        print " 4 - play channel via VLC\n";
        print " 5 - export to HTML\n";
        print " 6 - Exit\n";
        print "Function? ";
        $function = <STDIN>;
        chomp $function;

        if ($function eq 1)
        {
        #Get and print a list of programs
                $t->print("PROGRAM");
                print "These programs are defined:\n";
                $doit = 1;
                while($doit eq 1)
                {
                        eval {@line = $t->getline(Timeout => 1);};
                        if ($@)
                                {$doit=0;}
                        else
                                {print @line;}
                }
        }
        elsif ($function eq 2)
        {
        #Draw a graph
                $dont_send = 0;
                print "Available graphs are:\n";
                print "  0 - close any existing graph\n";
                print "  1 - Active PIDs by rate\n";
                print "  2 - Active PIDs by PID\n";
                print "  3 - PID usage 2D pie\n";
                print "  4 - PID usage 3D pie\n";
                print "  5 - Mux usage stacked area\n";
                print "  6 - Mux usage line\n";
                print "  7 - Video rate area\n";
                print "  8 - Video rate line\n";
                print "  9 - Program usage\n";
                print " 10 - Video composition\n";
                print "Which chart? ";
                $chart = <STDIN>;
                chomp $chart;
                if ($chart eq 10)
                {
                        print "Program number? ";
                        $program_number = <STDIN>;
                        chop $program_number;

                        $t->print("PROGRAM $program_number");
                        @line = $t->getline(Timeout => 1);
                        if (@line ="~ /502/")
                        {
                                print("?Invalid program number!\n");
                                $dont_send = 1;
                        }
                }
                if ($dont_send eq 0)
                {
                        $t->print("GRAPH $chart");
                        @line = $t->getline(Timeout => 1);
                }
        }
        elsif ($function eq 3)
        {
        #Switch to the multicast source and restart TSReader
                print "Multicast address to listen to? ";
                $multicast_address = <STDIN>;
                chomp $multicast_address;
                print "UDP port to listen to? ";
                $multicast_port = <STDIN>;
                chomp $multicast_port;

                $t->print("SOURCE TSReader_UDPMulticast.dll");
                @line = $t->getline(Timeout => 1);
                print "Response to SOURCE: @line";

                $t->print("TUNE $multicast_address $multicast_port");
                @line = $t->getline(Timeout => 1);
                print "Response to TUNE: line";
        }
        elsif ($function eq 4)
        {
                $dont_send = 0;
                print "Program number? ";
                $program_number = <STDIN>;
                chomp $program_number;

                $t->print("PROGRAM $program_number");
                @line = $t->getline(Timeout => 1);
                if (@line ="~ /502/")
                {
                        print("?Invalid program number!\n");
                        $dont_send = 1;
                }
                if ($dont_send eq 0)
                {
                        $t->print("PLAY VLC1");
                        @line = $t->getline(Timeout => 1);
                        print "Response to PLAY: @line";
                }
        }
        elsif ($function eq 5)
        {
                        $dont_send = 0;
                        $t->print("TUNE $freq1");
                        print "Changed Tuner 1\n";
                        sleep(10);
                        $t->print("EXPORT HTML $pfad1");
                        sleep (3);
                        $dont_send = 0;
                        $t->print("TUNE $freq2");
                        print "Changed Tuner2\n";
                        sleep (10);
                        $t->print("EXPORT HTML $pfad2");        
                        print "HTML-Seiten wurde erfolgreich Exportiert\n\n";
        }
}
#all done
        $dont_send = 0;
                print "Beenden";
                $function = <STDIN>;
  if ($function eq 6)
  {
   $t->print('');
   }

View full thread Windows 7 Konsole nicht einfach beenden