用C#通过telnet登陆到远端交换机上,键入命令后并获取返回值到本地,需要如何操作?
是自己写个telnet类吗?求具体方法
C# telnet登陆到远端 获取键入命令的返回值
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注 参考以下代码:
// Define the namespaces used by this sample. using System; using System.Text; using System.IO; using System.Diagnostics; using System.Threading; using System.ComponentModel; namespace ProcessAsyncStreamSamples { class SortOutputRedirection { // Define static variables shared by class methods. private static StringBuilder sortOutput = null; private static int numOutputLines = 0; public static void SortInputListText() { // Initialize the process and its StartInfo properties. // The sort command is a console application that // reads and sorts text input. Process sortProcess; sortProcess = new Process(); sortProcess.StartInfo.FileName = "Sort.exe"; // Set UseShellExecute to false for redirection. sortProcess.StartInfo.UseShellExecute = false; // Redirect the standard output of the sort command. // This stream is read asynchronously using an event handler. sortProcess.StartInfo.RedirectStandardOutput = true; sortOutput = new StringBuilder(""); // Set our event handler to asynchronously read the sort output. sortProcess.OutputDataReceived += new DataReceivedEventHandler(SortOutputHandler); // Redirect standard input as well. This stream // is used synchronously. sortProcess.StartInfo.RedirectStandardInput = true; // Start the process. sortProcess.Start(); // Use a stream writer to synchronously write the sort input. StreamWriter sortStreamWriter = sortProcess.StandardInput; // Start the asynchronous read of the sort output stream. sortProcess.BeginOutputReadLine(); // Prompt the user for input text lines. Write each // line to the redirected input stream of the sort command. Console.WriteLine("Ready to sort up to 50 lines of text"); String inputText; int numInputLines = 0; do { Console.WriteLine("Enter a text line (or press the Enter key to stop):"); inputText = Console.ReadLine(); if (!String.IsNullOrEmpty(inputText)) { numInputLines ++; sortStreamWriter.WriteLine(inputText); } } while (!String.IsNullOrEmpty(inputText) && (numInputLines < 50)); Console.WriteLine("<end of input stream>"); Console.WriteLine(); // End the input stream to the sort command. sortStreamWriter.Close(); // Wait for the sort process to write the sorted text lines. sortProcess.WaitForExit(); if (numOutputLines > 0) { // Write the formatted and sorted output to the console. Console.WriteLine(" Sort results = {0} sorted text line(s) ", numOutputLines); Console.WriteLine("----------"); Console.WriteLine(sortOutput); } else { Console.WriteLine(" No input lines were sorted."); } sortProcess.Close(); } private static void SortOutputHandler(object sendingProcess, DataReceivedEventArgs outLine) { // Collect the sort command output. if (!String.IsNullOrEmpty(outLine.Data)) { numOutputLines++; // Add the text to the collected output. sortOutput.Append(Environment.NewLine + "[" + numOutputLines.ToString() + "] - " + outLine.Data); } } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
- ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
- ¥15 帮我写一个c++工程
- ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
- ¥15 关于smbclient 库的使用
- ¥15 微信小程序协议怎么写
- ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
- ¥20 怎么用dlib库的算法识别小麦病虫害
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启