quinta-feira, 28 de novembro de 2013

Socket em LUA: um pequeno require para o homem, um grande socket da humanidade #SQN

Primeiramente quero dizer que este tutorial não é meu, mas do parceiro bilibir, KoubackTr aí que manja dos paranaue, então leia aí e visite o blog dele que tem muita coisa daora lá :)

./copy && paste

Bom galera, voltando à lua, com a sugestão do ‏@slayer_owner  no twitter, vou mostrar um pouco sobre sockets nesta poderosa linguagem BRASILEIRA :)
*eu não sou professor nem tenho formação em linguagem alguma, então vou apenas dar exemplos…
1ª para chamar os modulos lua, usamos a função require() , lembrando que em lua ponto e virgula( ) é opcional   (ebaaaa rsrs)
2ª para realizar comentarios usamos um duplo hífen EX: ( — isso é um comentario )
Bind Socket:
1
2
3
4
5
6
7
8
require('socket') -- função require() chamando modulo de socket --
 
local servidor = socket.bind('127.0.0.1',8080) -- Cria ponto local na porta 8080
print ("Servidor iniciado, aguardadno conexão")
local cliente = servidor:accept() -- ACCEPT indica que o code irá aguardar uma conexão antes de fechar --
local dados = cliente:receive() -- RECEIVE indica que vamos receber os dados que o cliente informar ao bind --
 
print ("\n",dados,"\n") -- Agora vamos imprimir estes dados --
Connect Socket:
1
2
3
4
5
6
7
8
9
10
11
12
13
require('socket') -- novamente função require() e modulo socket --
 
local cliente = socket.connect('127.0.0.1',8080) -- conectando ao servidor que criamos, socket.connect()--
-- CONDIÇÃO: servidor online ou offline --
if cliente then
print("[*]CONECTADO AO SERVIDOR") -- ON [vai para o input de dado]
else
print("[!]Servidor DOWN\n") -- OFF
os.exit() -- função de saida, caso o servidor esteja DOWN --
end
 
print("Informe algum dado para o servidor:")
cliente:send(io.read()..'\n') -- io.read para input de dado (stdin,scanf etc..) e SEND quer dizer que este dado será enviado para o servidor --
Http Request:
1
2
3
4
5
6
7
8
require('socket.http') -- musou o modulo --
 
print('[ Informe a URL (ex: http://www.google.com/index.html) ]')
print('[ Use sempre http:// ]\n')
local url = io.read() -- para input de dados --
 
resposta = socket.http.request(url)
print(resposta) -- imprime resposta --

Nenhum comentário:

Postar um comentário