|
Switched WLAN nach IEEE 802.11b/g/a und n

Netzaufbau:
|
| ... keine Roaming Zeiten, da alle APs den gleichen Kanal benutzen und der Switch die auflaufenden Pakete filtert. | | Extricom’s Interference-FreeTM Architecture - The same channel is placed everywhere
Placement of AP is determined based only on where capacity is needed The WLAN Switch performs the function of the traditional access point Client associates with the Switch, not the AP The switch prevents interference through packet-by-packet control of AP transmissions The AP acts as a radio point; performs no transmission processing; contains no software - Each UltraThin Access Point contains multiple radios
Switch controls multiple overlapping “channel blankets” |
| 
... no cellplaning

|
| WLAN Switch 8-port |

| EXSW-800 – 8-port WLAN Switch
- Supports up to 8 UltraThin APs (2-radio)
- 100Mb/s backbone to the LAN
- Hardware based 802.11i encryption
- Delivers PoE to the APs
- WPA2 - AES (CCMP)
- IEEE 802.11i
- Roaming
- intra-switch 0 msec
- inter-switch <50 msec
Datenblatt
|
| WLAN Switch 24-port |

|
EXSW-2400 – 24-port WLAN Switch
- Supports up to 24 UltraThin APs (2-radio)
- 2x 1000Mb/s backbone to the LAN
- Hardware based 802.11i encryption
- Delivers PoE to the Aps
- WPA2 - AES (CCMP)
- IEEE 802.11i
- Roaming
- intra-switch 0 msec
- inter-switch <50 msec
Datenblatt
|
| UltraThin Dual Access Point |

| EXRP20 UltraThin AP
- UltraThin - No intelligence in the device
- Two 802.11a/b/g compliant radios WiFi
- 100Mb/s backbone to the WLAN switch
- 802.3af Power over Ethernet (PoE)
- optional external antenna connector
- Quality of Service
- Multiple SSIDs 16 / VLAN
Datenblatt
|
| | UltraThin Quadro Access Point |

| EXRP40 UltraThin AP
- UltraThin - No intelligence in the device
- four 802.11a/b/g compliant radios WiFi
- 100Mb/s backbone to the WLAN switch
- 802.3af Power over Ethernet (PoE)
- optional external antenna connector
- Quality of Service
- Multiple SSIDs 16 / VLAN
Datenblatt
|
vorherige Seite
|
#!/usr/bin/perl
#!/usr/local/bin/perl
#########################################################################################
# aconon® cms #
# _ ____ ___ _ #
# __ _ ___ ___ _ __ ___ ___(r) / ___| ___ / __| |_ _ _ __ _ _ __ ___ #
# / _` |/ __|/ _ \| '_ \ / _ \| '_ \ \___ \ / _ \| _|| __/| | _ | |/ _` | '__|/ __\ #
# | (_| | (__| (_) | | | | (_) | | | | ___) | (_) | | | |_ | || || | (_| | | | _| #
# \__,_|\___|\___/|_| |_|\___/|_| |_| |____/ \___/|_| \__| \_____/ \__,_|_| \___/ #
# #
# Copyright © 2001 http://www.aconon.de - all rights reserved - Alle Rechte vorbehalten #
#########################################################################################
# sort=a-z aufsteigend sortiert
# sort=z-a absteigend sortiert
# sort=random zufaellig sortiert
# select=BEGRIFF nur Content-Seiten anzeigen, die BEGRIFF in einem der Select Meta-Tags haben
# selectMeta=METANAME wenn Metatag "select" nicht vorhanden ist, nimm diesen (Beispiel text2)
# max=3 maximal 3 Content-Seiten anzeigen
# alternierend=NAME Abwechselnd anderes aussehen einer Listenzeile
# (ab der zweiten Zeile dieses tpl.NAME.txt)
# nodouble=feld von jeder Content-Seite nur eine mit einem Begriff in diesem Feld anzeigen
# (=1 oder =headline verhindert doppelte Eintraege aus dem Feld text1 oder headline)
# ------------------------------------------------------------------------------------- #
# ----- MAIN
# ------------------------------------------------------------------------------------- #
use CGI::Carp qw(fatalsToBrowser);
print "Content-type: text/html\n\n";
#######################################################################
if($0 !~ /^list\.(cgi|pl)$/i && $0) {
$this_dir = $0;
} elsif($ENV{'SCRIPT_FILENAME'} && $ENV{'SCRIPT_FILENAME'} !~ /cgiwrap/) {
$this_dir = $ENV{'SCRIPT_FILENAME'};
} elsif($ENV{'PATH_TRANSLATED'}) {
$this_dir = $ENV{'PATH_TRANSLATED'};
}
$this_dir =~ s/\/[^\/]*$// && unshift(@INC,"$this_dir");
$this_dir =~ s/\\[^\\]*$// && unshift(@INC,"$this_dir");
#######################################################################
# ACHTUNG KEINE &check_pass; EINBAUEN
# DA DIESES PROGRAMM VOM WEBPAGE-BESUCHER AUFGERUFEN WIRD
require 'module.pm';
loadModules();
use Time::Local; # Time-Modul
&readparam; # read CGI parameters
$cd = "$root/$input{'cd'}";
$ordner = "$url/$input{'cd'}";
$nodouble = $input{'nodouble'}; # nodouble # igg 28.11.2003
$richtung = $input{'sort'};
srand();
$random = $input{'random'};
$only = $input{'select'};
$selMeta = $input{'selectMeta'}; # $selMeta = Metatag, wenn kein Meta "select" vorhanden ist. # mne 04.12.2003
$max = $input{'max'};
if(!$max){$max = 9999}
if (!$input{'tpl'}){
$templatename = "$verz_template/tpl.list.txt";
}else{
$templatename = "$verz_template/tpl.$input{'tpl'}.txt";
}
if(!$dyndat){$dyndat = "shtml";}
opendir(DIR, $cd) or print "$!";
foreach my $entry (readdir(DIR)) {
next if $entry =~ /^\.$/; # um Verz. '.' zu ueberspringen.
next if $entry =~ /^\.\.$/; # um Verz. '..' zu ueberspringen.
next if $entry =~ /^_vti_cnf$/; # um FRONTPAGE Verz. zu ueberspringen.
next if $entry =~ /^.hta/; # um .hta Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.css?$/; # um alle css Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.doc?$/; # um alle doc Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.cgi?$/; # um alle doc Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.pdf?$/; # um alle pdf Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.xls?$/; # um alle xls Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.txt?$/; # um alle TXT Dateien zu ueberspringen.
next if $entry =~ /^([a-zA-Z0-9\_\-]+)\.aconon?$/; # um alle aconon Dateien zu ueberspringen.
next if $entry =~ /^noList/; # um Datei die mit noList beginnen zu ueberspringen.
if(!$input{'mitIndex'}){ # zurGams - cgs - 10.05.2005 15:36
next if $entry =~ /^index\./; # um index Datei zu ueberspringen.
}
next if $entry =~ /^lock\./; # um lock Datei zu ueberspringen.
if ($entry !~ /\.htm*/i and $entry !~ /\.shtm*/i and $entry !~ /\.php*/i){$entry .= "/index.$dyndat";}
push(@FILES,"$entry");
}
closedir(DIR);
open(TEMPLATE, "$templatename") or print "$!";
@TEMPLATE = ;
close(TEMPLATE);
if (-f "$verz_template/tpl.$input{'alternierend'}.txt"){ # alternierend # igg 28.11.2003
open(TEMPLATE2, "$verz_template/tpl.$input{'alternierend'}.txt");
@TEMPLATE2 = ;
close(TEMPLATE2);
}else{
@TEMPLATE2 = @TEMPLATE;
}
sub reihenfolge {
if($richtung =~ /^a-z$/i){ # Klein- & Grossschreibung ignorieren # igg 08.05.2004
$a cmp $b;
}elsif($richtung =~ /^z-a/i){ # Klein- & Grossschreibung ignorieren # igg 08.05.2004
$b cmp $a;
}elsif($richtung =~ /^folderfirst$/i){ # Klein- & Grossschreibung ignorieren # igg 08.05.2004
{-d $b <=> -d $a}; # Erst die Ordner dann die Dateien # igg 08.05.2004
}elsif($richtung =~ /^random$/i){ # Klein- & Grossschreibung ignorieren # igg 08.05.2004
$a <=> $b;
}
}
# Alle Elemente von @input in µinem Hash speichern.
@myhash{@FILES} = ("") x @FILES; # Hash-Slices
# Shuffle-Algorithmus:
while ((@remains) = keys %myhash) {
$myrand = $remains[rand @remains];
push(@output, $myrand);
delete $myhash{$myrand};
}
if ($module{'newsletter'})
{
($teaser_length, $teaser_end) = modNewsletter_Read_Teaserinfo($cd);
}
if (!$teaser_length) { $teaser_length = "300"; }
if (!$teaser_end) { $teaser_end = "[...]"; }
LOOP:
foreach $link (sort reihenfolge @output)
{
$pos++;
$filename = "$cd/$link";
if (-f "$filename")
{
open(INFILE, "$filename") or print "$!";
@INFILE = ;
close(INFILE);
}
$externerlink="";
my %headline;
my %text;
foreach $line (@INFILE)
{
## beim parsen der inhaltszeile muss ich nach dem schon gefundenen vergleichen (ob die gefundene html nummer gleich der meta nummer ist und ob meta schon voll ist)
### headline suchen
if ($line =~ //is)
{
if (!$1 || $1 eq "" || $1 eq "0")
{
$headlinenr = "0";
}
else
{
$headlinenr = $1;
}
$headline{$headlinenr} = $2;
}
if(lc($nodouble) eq "headline")
{ # nodouble # igg 28.11.2003
$doppelterText{$2}++;
if($doppelterText{$2} > 1)
{
next LOOP;
}
}
if ($line =~ /(.*)<\/headline(.*?)>/is || $line =~ /(.*)/is)
{
if (!$1 || $1 eq "" || $1 eq "0")
{
$headlinenr = "0";
}
else
{
$headlinenr = $1;
}
if (!$headline{$headlinenr})
{
$headline{$headlinenr} = $2;
}
}
### externer Link suchen
if ($line =~ //is)
{
$externerlink = $1;
}
### text suchen
if ($line =~ //i)
{
if (!$1 || $1 eq "" || $1 eq "0")
{
$textnr = "0";
}
else
{
$textnr = $1;
}
$text{$textnr} = $2;
if ($selMeta)
{ # $only(select) = text(.*), wenn kein meta -> select vorhanden ist # mne 04.12.2003
$select{$1} = $2;
}
if($nodouble and $nodouble eq $1)
{ # nodouble # igg 28.11.2003
$dup = "$nodouble,$2";
$doppelterText{$dup}++;
if($doppelterText{$dup} > 1)
{
next LOOP;
}
}
if (-e "$verz_template/csv-daten.csv")
{
open(CSV,"<$verz_template/csv-daten.csv");
while()
{
$_ =~ s/[\n\r]//g;
($artikel,$text) = split(/\;/,$_);
if($text{$1} =~ /:$artikel>/is)
{ # Nur wenn Schluessel absolut identisch!
$text{$1} =~ s/]*)>/$text/gi;
last;
}
}
close(CSV);
}
}
if ($line =~ /(.*)<\/text(.*?)>/is || $line =~ /(.*)/is)
{
if (!$1 || $1 eq "" || $1 eq "0")
{
$textnr = "0";
}
else
{
$textnr = $1;
}
if (!$text{$textnr})
{
my $Laenge = length($2);
$text{$textnr} = $2;
if ($Laenge > $teaser_length)
{
$text{$textnr} = substr($text{$textnr}, 0, $teaser_length);
}
$text{$textnr} =~ /(.*)\s/is;
$text{$textnr} = $1;
$text{$textnr} .= "$teaser_end";
}
}
### select suchen
if ($line =~ //is)
{
if (!$selMeta)
{
$select{$1} = $2;
}
}
### Image(s) suchen
if ($line =~ /]*)"\s*>/is)
{
$image{$1} = $2;
}
### timer suchen
if ($line =~ /]*)"\s*>/is)
{
($von,$bis) = split(/\-/,$1);
($vontag,$vonmonat,$vonjahr) = split(/\./,$von);
($bistag,$bismonat,$bisjahr) = split(/\./,$bis);
}
$i++;} # ende foreach INFILE
# foreach $line (@INFILE) {
# if ($line =~ //is) {
# $headline = $1;
# if(lc($nodouble) eq "headline"){ # nodouble # igg 28.11.2003
# $doppelterText{$1}++;
# if($doppelterText{$1} > 1){
# next LOOP;
# }
# }
# }
# if ($line =~ //is) {
# $externerlink = $1;
# }
# if ($line =~ //i) {
# $text{$1} = $2;
# if ($selMeta){ # $only(select) = text(.*), wenn kein meta -> select vorhanden ist # mne 04.12.2003
# $select{$1} = $2;
# }
# if($nodouble and $nodouble eq $1){ # nodouble # igg 28.11.2003
# $dup = "$nodouble,$2";
# $doppelterText{$dup}++;
# if($doppelterText{$dup} > 1){
# next LOOP;
# }
# }
# if (-e "$verz_template/csv-daten.csv"){
# open(CSV,"<$verz_template/csv-daten.csv");
# while(){
# $_ =~ s/[\n\r]//g;
# ($artikel,$text) = split(/\;/,$_);
# if($text{$1} =~ /:$artikel>/is){ # Nur wenn Schluessel absolut identisch!
# $text{$1} =~ s/]*)>/$text/gi;
# last;
# }
# }
# close(CSV);
# }
# }
# if ($line =~ //is) {
# if (!$selMeta){
# $select{$1} = $2;
# }
# }
# # Auch image1 , image2 etc. ersetzen - igg 28.04.2005 13:44
# if ($line =~ /]*)"\s*>/is) {
# $image{$1} = $2;
# }
# if ($line =~ /]*)"\s*>/is) {
# ($von,$bis) = split(/\-/,$1);
# ($vontag,$vonmonat,$vonjahr) = split(/\./,$von);
# ($bistag,$bismonat,$bisjahr) = split(/\./,$bis);
# }
# }
if($only){
$ok=0;
foreach $nr (keys (%select)) {
if ($only =~ /$select{$nr}/i){
$ok=1;
last;
}
}
if(! $ok){
next;
}
%select = ""; # BUGFIX # igg 06.11.2003
}
($vontag,$vonmonat,$vonjahr) = split(/\./,$von);
$vmonat = $vonmonat - 1;
if($von =~ /^\d\d\.\d\d\.\d\d\d\d/){
$voncheck = timelocal(0, 0, 0, $vontag, $vmonat, $vonjahr);
}else{
$voncheck = 0;
}
&date();
$tag = substr($date,0,2);
$monat = substr($date,3,2) - 1;
$jahr = substr($date,6,4);
$heute = timelocal(0,0,0,$tag,$monat,$jahr);
($bistag,$bismonat,$bisjahr) = split(/\./,$bis);
$bmonat = $bismonat - 1;
if($bis =~ /^\d\d\.\d\d\.\d\d\d\d/){
$bischeck = timelocal(0, 0, 0, $bistag, $bmonat, $bisjahr);
}else{
$bischeck = 9999999999;
}
if($voncheck <= $heute and $bischeck >= $heute and $anzahl < $max){
$anzahl++;
if($input{'alternierend'} and $alternierend){ # alternierend # igg 28.11.2003
@mtemplate = @TEMPLATE2;
$alternierend = 0;
}else{
@mtemplate = @TEMPLATE;
$alternierend = 1;
}
my $nr;
foreach $mtline (@mtemplate)
{
foreach $nr (keys (%headline))
{
if ($nr == 0)
{
$mtline =~ s//$headline{"0"}/gi;
}
else
{
$mtline =~ s//$headline{$nr}/gi;
}
}
foreach $nr (keys (%text))
{
if ($nr == 0)
{
$mtline =~ s//$text{"0"}/gi;
}
else
{
$mtline =~ s//$text{$nr}/gi;
}
}
if(%image)
{
# Auch image1 , image2 etc. ersetzen - igg 28.04.2005 13:44
foreach $nr (keys (%image))
{
$mtline =~ s//$image{$nr}/gi;
}
}
else
{
$mtline =~ s//\/acononCMS\/upload\/-kein_Bild-.gif/gi;
} # BUGFIX http ohne (:) um auch https zu ermoeglichen # igg 20.11.2003
if($externerlink and ($externerlink =~ m/^http/i or $externerlink =~ m/^ftp:/i or $externerlink =~ m/^mailto:/i)){
$mtline =~ s//$externerlink/gi;
}else{
$mtline =~ s//$ordner\/$link/gi;
}
$mtline =~ s//$pos/gi;
$ausgabe = $ausgabe . $mtline;
}
}
}
&SSI_Functions($ausgabe);
########################################################################################################################
|