Ok, finally I need some help... I'm trying to set up a lua server which is listening to several clients at the same time.
We are programming an Android game using lua and this game has to communicate with my server. I need to send and receive data from players and store it in a MySQL database. But my biggest problem is, that luasocket can't handle multiple clients natively, so I tried to use Copas.
I'm testing around with Copas using this tutorial/manual: Copas Manual but my code doesn't even listen for incomming connections...so I've inserted some print commands to see where my code hangs. Could someone help me?
local socket = require("socket")
local copas = require("copas")
local server1 = assert(socket.bind("*", 2906))
local server2 = assert(socket.bind("*", 2907))
local server3 = assert(socket.bind("*", 2908))
--Register servers
copas.addserver(server1, echo1)
copas.addserver(server2, echo2)
copas.addserver(server3, echo3)
--Simple echo handler
function echo1(skt)
print("1")
reqdata = copas.receive(skt, pattern)
copas.send(skt, respdata)
end
function echo2(skt)
print("2")
reqdata = copas.receive(skt, pattern)
copas.send(skt, respdata)
end
function echo3(skt)
print("3")
reqdata = copas.receive(skt, pattern)
copas.send(skt, respdata)
end
print("4")
reading = {server}
print("4.1")
while true do
print("4.2")
input = socket.select(reading)
print("4.3")
skt = input:accept()
print("4.4")
newthread(echo1(skt))
print("4.5")
end
print("5")
copas.loop()
print("6")