c# - 通过 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 实现?
谢谢
解决方案
推荐阅读
- angular - 从 html 使用 FormBuilder 访问数据
- python - 将 Beautiful Soup 应用于多个 txt 文件
- android - kotlin 中的 defaultDisplay 已弃用,我应该改用什么方法?
- virtualbox - VirtualBox错误无法打开虚拟机macOS的会话(VERR_PDM_TOO_MANY_DEVICES_INSTANCES)
- flutter - FittedBox 的无界约束在 Expanded inside container with width
- c# - 在 asp.net core v5.0 中,在域/端口导致 404 之后,url 多个斜杠
- amazon-web-services - 将环境变量从 AWS Codepipeline 传递到 CodeBuild
- python - 如何打印每个值与最高值的差异?
- system-verilog - 是否允许在端口中使用打包的结构?
- python - 如何生成所有有效的数字表达式?