Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用套接字从C#应用程序向Lua应用程序发送数据_C#_Wpf_Sockets_Lua - Fatal编程技术网

使用套接字从C#应用程序向Lua应用程序发送数据

使用套接字从C#应用程序向Lua应用程序发送数据,c#,wpf,sockets,lua,C#,Wpf,Sockets,Lua,我的C#应用程序中的此函数将向另一台PC上的lua应用程序发送字母U: 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.P

我的C#应用程序中的此函数将向另一台PC上的lua应用程序发送字母U:

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发送字符进行了尝试,一切正常。)

我做错了什么?我没有收到任何数据


谢谢。

好的,答案是将我的C#代码更改为以下代码:

TcpClient tcp = new TcpClient("192.168.1.4", 1337);
string cmd = "U\n";
byte[] buf = System.Text.ASCIIEncoding.ASCII.GetBytes(cmd.Replace("\0xFF", "\0xFF\0xFF"));            
tcp.GetStream().Write(buf, 0, buf.Length);
当心

string cmd = "U\n";
您必须添加新行字符,否则它将不起作用。

位于:
socket.receive()
中的有一个
模式
参数,指定为:“*l”:从套接字读取一行文本。该行以LF字符(ASCII 10)终止,可选地前面有CR字符(ASCII 13)。不返回CR和LF字符。这是默认模式;“对于强调:“这是默认模式”
string cmd = "U\n";