LuaSocket服务器不接受客户端

时间:2015-04-08 14:03:27

标签: android lua luasocket

我正在我的电脑上运行lua脚本,需要从我的android连接。 所以在lua脚本中我只是说了这个:

local socket = require 'socket'
local server = socket.tcp()
print("createdserver")
server:bind('*',7070)
print("binded")
while 1 do
  server:listen(32)

  local client = server:accept()    

  -- make sure we don't block waiting for this client's line
  client:settimeout(10)
 -- receive the line
  local line, err = client:receive()
  -- if there was no error, send it back to the client
  if not err then client:send(line .. "\n") end
  -- done with client, close the object
  client:close()
end

在android上我得到了一个非常简单的套接字连接:

public Connection(String ip, int _port) {
    //inMessage = new NetworkMessage();
    buffer = new byte[16394];
    try {
        serverAddres = InetAddress.getByName(ip);
        socket = new Socket(serverAddres, _port);
        socketOut = socket.getOutputStream();
    } catch (IOException e) {
        Log.e("Connect", e.getMessage());
    }
}

在android它只停留在“new Socket”并且没有连接。

2 个答案:

答案 0 :(得分:0)

我不熟悉lua,但我的理解是你正在为套接字写一个新行,你想在Android端接收。 通常情况下,如果是这种情况,您需要获取inputStream而不是输出,因为您正在等待结果。此外,您需要无限期地(或者直到满足某些条件)在单独的线程(标准输入)上监听数据的输入流:

while(true){
    if (inputStreamReader().read() != -1){
          // do you processing
     }
}

答案 1 :(得分:0)

我的笔记本正在更改其IP地址,因此我无法从Android上获取它,已经解决了!