1

私の 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);
}

これは、C# アプリケーションからコマンドを受け取り、それらをシリアルに書き込む lua の小さなスクリプトです (正常に動作しています。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

私は何を間違っていますか?データを受信して​​いません...

ありがとう。

4

1 に答える 1