Lua Socket: Difference between revisions

From Spring
Jump to navigationJump to search
Abma (talk | contribs)
Abma (talk | contribs)
Line 40: Line 40:
** tadns http://adns.sourceforge.net/
** tadns http://adns.sourceforge.net/
** or a lua implementation? biggest problem would be to find the local dns-server
** or a lua implementation? biggest problem would be to find the local dns-server
* allow rules have exactly match the host:port in script. currently its not possible to use host:port in a lua widget and use the resolved hostname for connecting (and vice versa) (simple workaround, add both as rule or use the ip only)
** could be fixed by: when a dns name is resolved, add the resolved ip to all associated rules (some for loop + find <hostname>:)
* most lua scripts from luasocket won't work as they are blocking! rewriting them non-blocking is required! (should be in most cases few work, as parsing stuff can be reused)
* most lua scripts from luasocket won't work as they are blocking! rewriting them non-blocking is required! (should be in most cases few work, as parsing stuff can be reused)
* config file should be better protected, see https://github.com/spring/spring/blob/develop/rts/System/Config/ConfigHandler.cpp#L289 + https://github.com/spring/spring/commit/948d6fb9d1c95b99b5cc7929cf3e0de0f9d6d93e maybe just locking the file is best?! see also http://springrts.com/mantis/view.php?id=2891 (private report)
* config file should be better protected, see https://github.com/spring/spring/blob/develop/rts/System/Config/ConfigHandler.cpp#L289 + https://github.com/spring/spring/commit/948d6fb9d1c95b99b5cc7929cf3e0de0f9d6d93e maybe just locking the file is best?! see also http://springrts.com/mantis/view.php?id=2891 (private report)
* only one rule per host possible (TCPAllowConnect = localhost:1 localhost:2 isn't possible)


==documentation==
==documentation==

Revision as of 05:21, 18 February 2012

LuaSocket is a development branch of spring: (so it maybe gets never into the main branch!)

see https://github.com/spring/spring/tree/luasocket


config settings

All LuaSocket related config is readonly for LuaWidgets. They can be only changed through unitsync.


LuaSocketEnabled = 1 Default is 0 means, all Socket functions are disabled
TCPAllowConnect allow TCP-connections to the listed hosts, for example: "springrts.com:80 springfiles.com:80" which allows luasockets to connect to springrts.com at port 80 and springfiles.com at port 80.
TCPAllowListen Server TCP-sockets are allowed on this port, for example: "localhost:1234 0.0.0.0:12345"
UDPAllowConnect see TCPAllowConnect
UDPAllowConnect see TCPAllowListen

example code

see https://github.com/spring/spring/blob/luasocket/cont/examples/Widgets/luasocket.lua

Notes / known issues / TODO

documentation

links

compiled Spring test version forum thread