在网上找了很久,要吗需要插件,还有一堆 不易理解的类.后来研究了下,无非是tcp通讯方式
现将代码提供出来.方便使用
byte[] result = new byte[1024]; //定义接收的字节
Socket clientSocket;
//初始化频谱仪端口连接
IPAddress ip = IPAddress.Parse("192.168.0.250");
clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
clientSocket.Connect(new IPEndPoint(ip, 5025));
Console.WriteLine("连接频谱仪成功");
}
catch
{
Console.WriteLine("连接频谱仪失败,请按Enter键退出");
return;
}
//通过clientSocket接收数据
try
{
Thread.Sleep(1000);
string sendMessage = "*IDN?\n"; //这里记得要有换行符哦
clientSocket.Send(Encoding.ASCII.GetBytes(sendMessage));
Console.WriteLine("向频谱仪发送了远程命令:{0}", sendMessage);
//通过clientSocket接收数据
int receiveLength = clientSocket.Receive(result);
Console.WriteLine("接收频谱仪消息:{0}", Encoding.ASCII.GetString(result, 0, receiveLength));
Console.WriteLine("接收完毕");
}
catch
{
clientSocket.Shutdown(SocketShutdown.Both);
clientSocket.Close();
}
Console.WriteLine("发送完毕");
结果如下图:
添加插件,插件只支持..net 4.8 我这样,完全可以支持在netcore中,方便在框架中添加扩展,