首页 > 解决方案 > 通过 TCP/IP 使用 C# 发送字符串

问题描述

我有一个可以通过 TCP/IP 进行交互的机器人系统。我已经能够使用以下代码在 Matlab 中控制系统:

AT = tcpip('cim-up',8000);
fopen(AT);
fprintf(AT, '$global[1] = 33');

我需要在 C# 中模拟相同的命令。我尝试了以下代码:

// Connect to Robot using TCPIP

string IP = "cim-up";
TcpClient tcpclnt = new TcpClient();

Console.WriteLine("Connecting.....");

try
{
    tcpclnt.Connect(IP, 8000);
    Console.WriteLine("Connected");
}
catch
{
    Console.WriteLine("Failed");                
}

StreamWriter AT_writer = new StreamWriter(tcpclnt.GetStream(), Encoding.ASCII);

AT_writer.Write("$global[1]=33");

此代码将连接到 TCP/IP 地址,但服务器不响应 $global[1]=33 命令。

我还尝试了以下方法:

Byte[] data = System.Text.Encoding.ASCII.GetBytes("$global[1]=33");         

// Get a client stream for reading and writing.

NetworkStream stream = tcpclnt.GetStream();

// Send the message to the connected TcpServer. 
stream.Write(data, 0, data.Length);

有没有人有任何建议,因为我有一个成功的 Matlab 实现?

谢谢

标签: c#matlabtcp-ip

解决方案


推荐阅读