Olá,
Gostaria de saber o que foi modificado na API Lua do Ginga Live CD, pois não consigo rodar as aplicações Lua que rodo no wmware, nem tão pouco ver os logs de erros. Fiz download dos exemplos Lua do clube NCL e nem os próprios exemplos do site rodam.
O que devo modificar para rodar minhas aplicações através Ginga Live?
Agradeço quem puder me tirar esta dúvida.
Autor: Luis Antonio Tavares
3939 comentários
-- Francisco
argv = '/mnt/usb/Google/google.ncl' nclFile = '/mnt/usb/Google/google.ncl'
ComponentManager::getComponentDescription
ComponentManager::getComponent opening component 'libgingacccmparser.so'
ComponentManager::getComponent component 'libgingacccmparser.so' OPENED
ComponentManager::refreshComponentDescription REFRESHED.
ComponentManager::getComponent opening component 'libgingalssm.so'
ComponentManager::getComponent component 'libgingalssm.so' OPENED
ComponentManager::getComponent opening component 'libgingancl.so'
ComponentManager::getComponent component 'libgingancl.so' OPENED
ComponentManager::getComponent opening component 'libgingaccsystemio.so'
ComponentManager::getComponent component 'libgingaccsystemio.so' OPENED
ComponentManager::getComponent opening component 'libginganclprefetch.so'
ComponentManager::getComponent component 'libginganclprefetch.so' OPENED
ComponentManager::getComponent opening component 'libgingaccic.so'
ComponentManager::getComponent component 'libgingaccic.so' OPENED
ComponentManager::getComponent opening component 'libgingaccsystemiodfb.so'
ComponentManager::getComponent component 'libgingaccsystemiodfb.so' OPENED
(#) DirectFBError [gingacc-systemio DFBDeviceScreen TestConfig error: ]: Not supported!
ComponentManager::getComponent opening component 'libgingaccplaimg.so'
ComponentManager::getComponent component 'libgingaccplaimg.so' OPENED
ComponentManager::getComponent opening component 'libgingaccsysctsimgdfb.so'
ComponentManager::getComponent component 'libgingaccsysctsimgdfb.so' OPENED
ComponentManager::getComponent opening component 'libgingacccontextmanager.so'
ComponentManager::getComponent component 'libgingacccontextmanager.so' OPENED
ContextManager::initializeUsers warning! Invalid user
InputManager::initializeInputIntervalTime imperative = '0' declarative = '200'
ComponentManager::getComponent opening component 'libncl30connclncm.so'
ComponentManager::getComponent component 'libncl30connclncm.so' OPENED
NclLinkingConverter::createBind FOUND GOT 'get'
NclLinkingConverter::createBind FOUND GOT 'get'
ComponentManager::releaseComponentFromObject 'NclDocumentConverter' component 'libncl30connclncm.so' released!
compile time: 115 ms
FormatterLinkConverter::createCausalLink value = '$get', value.substr = 'get' compare with label 'onBegin'' compare with label 'set'' compare with label 'get' MATCH when interface is 'text'. Thus, event 'search_2' was setted whith refEvent 'text_2'
ComponentManager::getComponent opening component 'libginganclluapadapter.so'
ComponentManager::getComponent component 'libginganclluapadapter.so' OPENED
ComponentManager::getComponent opening component 'libgingaccplalua.so'
ComponentManager::getComponent component 'libgingaccplalua.so' OPENED
SET == text =
FormatterScheduler::runProceduralAction preparing display
FormatterFocusManager::setFocus index 'inputIdx' is not in focus Table.
ComponentManager::getComponent opening component 'libgingaccsysctsdfbf.so'
ComponentManager::getComponent component 'libgingaccsysctsdfbf.so' OPENED
FormatterLinkConverter::createCausalLink value = '$get', value.substr = 'get' compare with label 'onEndAttribution'' compare with label 'set'' compare with label 'get' MATCH when interface is 'result'. Thus, event 'text_2' was setted whith refEvent 'result_2'
SET == result =
SET == search =
FormatterScheduler::runProceduralAction preparing display
FormatterFocusManager::showObject Warning! descriptor is null.
SET == text =
FormatterScheduler::runProceduralAction preparing display
PANIC: unprotected error in call to Lua API (/mnt/usb/Google/input.lua:51: bad argument #-2 to 'post' (string expected, got nil)) Precisava de um exemplo simples do uso da tcp..
if evt.class ~= 'key' then return end
if evt.type ~= 'press' then return end
tcp.execute(
function ()
print ("-- start TCP --")
tcp.connect('www.google.com.br', 80)
tcp.send('get /search?hl=pt-BR&btnI&q='..'globo'..'\n')
local result = tcp.receive()
print ('Result: ' .. result)
tcp.disconnect()
end
)
end event.register(handler) Queria a ajuda de vocês para acessar um servlet.. Pelo browser eu consigo acessá-lo e fazer uma consulta da seguinte maneira: 192.168.20.65:8080/LuaServer/LuaServer?tipoOperacao=b&id=4 Como ficaria a chamada das funções para a TCP? tcp.connect('192.168.20.65', 8080) ?
tcp.send('get /LuaServer/LuaServer?tipoOperacao=b&id=4') ?
function ()
print ("-- start TCP --") tcp.connect('192.168.20.65', 8080)
tcp.send('get /LuaServer/LuaServer?tipoOperacao=b&id=4'..'\n') local result = tcp.receive()
print ('Result: ' .. result)
tcp.disconnect()
end
) Pode ser alguma falhar da TCP?
A última linha executada foi a do connect.
Mas o servlet está publicado corretamente, sendo acessado normalmente pelo browser. Obrigado pelas informações.
local t = {
host = host,
port = port,
waiting = 'connect',
timeout = 30
}
CONNECTIONS[coroutine.running()] = t
event.post {
class = 'tcp',
type = 'connect',
host = host,
port = port,
}
return coroutine.yield()
end Depois tentei assim: function connect (host, port)
local t = {
host = host,
port = port,
waiting = 'connect'
}
CONNECTIONS[coroutine.running()] = t event.post {
class = 'tcp',
type = 'connect',
host = host,
port = port, timeout = 30
}
return coroutine.yield()
end
Francisco
class = 'tcp',
type = 'connect',
host = 'www.google.com.br',
port = 80,
} funciona OK. mas se faço um "ping www.google.com.br", para obter o endereço IP, que por exemplo, obtive como 64.233.169.104, e faço event.post {
class = 'tcp',
type = 'connect',
host = '64.233.169.104',
port = 80,
} não funciona ! Quando uso 'www.google.com.br', aparece no log: reloaded DNS configuration (resolv.conf)
changing nameserver to 192.168.17.2 Quando uso '64.233.169.104', as mensagens acima não aparecem. O evento "class=tcp,type=connect" que deveria ocorrer com resultado da conexão, não acontece. Verifiquei através de um io.write() logo após do event.post, que não é aí que fica parado. Procurei pela mensagem "reloaded DNS configuration", e só achei no fonte dns.C, na função reload_cb, que faz parte de algo chamado SFS. Não sei o que é SFS. É usado no NCLUA ? Se for alguma coisa que estou fazendo errado, por favor me avise. Um abraço, Hugo
00140 tcpconnect (in_addr addr, u_int16_t port, cbi cb)
00141 {
00142 return New tcpportconnect_t (addr, port, cb);
00143 }
00144
00145 tcpconnect_t *
00146 tcpconnect (str hostname, u_int16_t port, cbi cb,
00147 bool dnssearch, str *namep)
00148 {
00149 return New tcpportconnect_t (hostname, port, cb, dnssearch, namep);
00150 } Estaria aí o problema ?