mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-04 22:19:38 +00:00
98_telnet.pm: allow to listen on special interfaces.
git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@10212 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
d02f779460
commit
db7a8d2a6e
@ -147,8 +147,7 @@ telnet_Define($$$)
|
|||||||
return "Usage: define <name> telnet { [IPV6:]<tcp-portnr> [global] | ".
|
return "Usage: define <name> telnet { [IPV6:]<tcp-portnr> [global] | ".
|
||||||
" [IPV6:]serverName:port }"
|
" [IPV6:]serverName:port }"
|
||||||
if(!($isServer || $isClient) ||
|
if(!($isServer || $isClient) ||
|
||||||
($isClient && $global) ||
|
($isClient && $global));
|
||||||
($global && $global ne "global"));
|
|
||||||
|
|
||||||
# Make sure that fhem only runs once
|
# Make sure that fhem only runs once
|
||||||
if($isServer) {
|
if($isServer) {
|
||||||
@ -366,15 +365,19 @@ telnet_ActivateInform($;$)
|
|||||||
<a name="telnetdefine"></a>
|
<a name="telnetdefine"></a>
|
||||||
<b>Define</b>
|
<b>Define</b>
|
||||||
<ul>
|
<ul>
|
||||||
<code>define <name> telnet <portNumber> [global]</code><br>
|
<code>define <name> telnet <portNumber>
|
||||||
|
[global|hostname]</code><br>
|
||||||
|
|
||||||
or<br>
|
or<br>
|
||||||
<code>define <name> telnet <servername>:<portNumber></code>
|
<code>define <name> telnet <servername>:<portNumber></code>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
First form, <b>server</b> mode:<br>
|
First form, <b>server</b> mode:<br>
|
||||||
Listen on the TCP/IP port <code><portNumber></code> for incoming
|
Listen on the TCP/IP port <code><portNumber></code> for incoming
|
||||||
connections. If the second parameter global is <b>not</b> specified,
|
connections. If the second parameter is <b>not</b> specified,
|
||||||
the server will only listen to localhost connections.
|
the server will only listen to localhost connections. If the second
|
||||||
|
parameter is global, telnet will listen on all interfaces, else it wil try
|
||||||
|
to resolve the parameter as a hostname, and listen only on this interface.
|
||||||
<br>
|
<br>
|
||||||
To use IPV6, specify the portNumber as IPV6:<number>, in this
|
To use IPV6, specify the portNumber as IPV6:<number>, in this
|
||||||
case the perl module IO::Socket:INET6 will be requested.
|
case the perl module IO::Socket:INET6 will be requested.
|
||||||
@ -512,16 +515,19 @@ telnet_ActivateInform($;$)
|
|||||||
<a name="telnetdefine"></a>
|
<a name="telnetdefine"></a>
|
||||||
<b>Define</b>
|
<b>Define</b>
|
||||||
<ul>
|
<ul>
|
||||||
<code>define <name> telnet <portNumber> [global]</code><br>
|
<code>define <name> telnet <portNumber>
|
||||||
oder<br>
|
[global|hostname]</code><br> oder<br>
|
||||||
|
|
||||||
<code>define <name> telnet <servername>:<portNummer></code>
|
<code>define <name> telnet <servername>:<portNummer></code>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
Erste Form, <b>Server</b>-mode:<br>
|
Erste Form, <b>Server</b>-mode:<br>
|
||||||
Überwacht den TCP/IP-Port <code><portNummer></code> auf
|
Überwacht den TCP/IP-Port <code><portNummer></code> auf
|
||||||
ankommende Verbindungen. Wenn der zweite Parameter gobal <b>nicht</b>
|
ankommende Verbindungen. Wenn der zweite Parameter <b>nicht</b>
|
||||||
angegeben wird, wird der Server nur auf Verbindungen von localhost achten.
|
angegeben wird, wird der Server nur auf Verbindungen von localhost achten.
|
||||||
|
Falls der zweite Parameter global ist, dann wird telnet auf allen lokalen
|
||||||
|
Netzwerk-Interfaces zuhören, ansonsten wird der Parameter als Hostname
|
||||||
|
oder Adresse interpretiert, und nur diese lokale Adresse bedient.
|
||||||
<br>
|
<br>
|
||||||
Für den Gebrauch von IPV6 muss die Portnummer als IPV6:<nummer>
|
Für den Gebrauch von IPV6 muss die Portnummer als IPV6:<nummer>
|
||||||
angegeben werden, in diesem Fall wird das Perl-Modul IO::Socket:INET6
|
angegeben werden, in diesem Fall wird das Perl-Modul IO::Socket:INET6
|
||||||
|
@ -25,7 +25,7 @@ TcpServer_Open($$$)
|
|||||||
|
|
||||||
my @opts = (
|
my @opts = (
|
||||||
Domain => ($hash->{IPV6} ? AF_INET6() : AF_UNSPEC), # Linux bug
|
Domain => ($hash->{IPV6} ? AF_INET6() : AF_UNSPEC), # Linux bug
|
||||||
LocalHost => ($global ? undef : "localhost"),
|
LocalHost => ($global ? ($global eq "global"? undef:$global) : "127.0.0.1"),
|
||||||
LocalPort => $port,
|
LocalPort => $port,
|
||||||
Listen => 10,
|
Listen => 10,
|
||||||
Blocking => ($^O =~ /Win/ ? 1 : 0), # Needed for .WRITEBUFFER@darwin
|
Blocking => ($^O =~ /Win/ ? 1 : 0), # Needed for .WRITEBUFFER@darwin
|
||||||
|
Loading…
x
Reference in New Issue
Block a user