1
此功能在我的C#應用程序發送的數據將發送字母U到另一臺PC上LUA應用程序:使用套接字從C#應用程序的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
我在做什麼錯?我沒有收到任何數據...
謝謝。
這是[手冊](http://w3.impa.br/~diego/software/luasocket/tcp.html#receive):'socket.receive()'有'pattern'參數,指定因此:_「'* l':從套接字讀取一行文本,該行由一個LF字符(ASCII 10)結束,可選地以一個CR字符(ASCII 13)作爲前綴,CR和LF字符不是這是默認模式;「_ – CodeCaster 2013-04-08 14:45:09
強調:*」這是默認模式「* – Textmode 2013-08-27 23:15:30