我的 C# 应用程序中的这个函数会将字母 U 发送到另一台 PC 上的 lua 应用程序:
private void drive_Click(object sender, RoutedEventArgs e)
{
Socket soc = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
System.Net.IPAddress ipAddress = System.Net.IPAddress.Parse("192.168.1.180");
IPEndPoint remote = new IPEndPoint(ipAddress, 1337);
soc.Connect(remote);
byte[] commands = System.Text.Encoding.ASCII.GetBytes("U");
soc.Send(commands);
}
这是 lua 中的小脚本,它将接收来自 C# 应用程序的命令并将它们写入串行(它工作正常,我通过使用 netcat 发送字符进行了尝试,一切正常。)
local socket = require("socket")
local server = assert(socket.bind("*", 1337))
wserial=io.open("/dev/ttyATH0","w")
while 1 do
local client = server:accept()
client:settimeout(10)
local line, err = client:receive()
if not err then client:
wserial:write(line)
end
wserial:flush()
client:close()
end
我究竟做错了什么?我没有收到任何数据...
谢谢。