我正在我的电脑上运行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”并且没有连接。
答案 0 :(得分:0)
我不熟悉lua,但我的理解是你正在为套接字写一个新行,你想在Android端接收。 通常情况下,如果是这种情况,您需要获取inputStream而不是输出,因为您正在等待结果。此外,您需要无限期地(或者直到满足某些条件)在单独的线程(标准输入)上监听数据的输入流:
while(true){
if (inputStreamReader().read() != -1){
// do you processing
}
}
答案 1 :(得分:0)
我的笔记本正在更改其IP地址,因此我无法从Android上获取它,已经解决了!