原来的程序是这样做的:
有几个shell脚本,上传到unix服务器上,运行,生成结果文件(结果文件是通过把标准输入的内容重定向到文件里的),然后再用ftp把结果文件下载回来。注:这些最终生成的文件是shell脚本中的一条条命令生成了,每条命令生成一个文件,所以最终有多个结果文件我现在要把这些操作做到程序中,只要求用户输入要登录的unix服务器的用户名和密码,然后我自动把最终生成的文件拉回来。我试过以下一些想法:
1、做一个类似telnet的客户端,在上面运行shell脚本内的每条命令,把每条命令的标准输出取回来,就是最终需要的结果文件。
我找了一个c#写的telnet客户端,但是很不好控制,毕竟,用键盘输入命令和程序直接传一堆命令有很大差别,经常出错,碰巧我的命令又都相当的长,更是出了一堆错误。
2、我想做一个telnet客户端和ftp客户端,用ftp客户端上传shell脚本,telnet客户端执行脚本,命令的输出还是重定向到unix服务器上文件中,然后再用ftp客户端把这些结果文件取回来。
这个方案我还没做,之所以是要这样,是因为用telnet客户端来运行shell脚本毕竟会方便很多,不像命令,容易出那么多的毛病。但其实无论用哪个方案,我都有好几个难点:
1、模拟telnet客户端,我不能做一个真正的客户端,因为我的客户不需要登录,他们只需要输入用户名和密码,点一个按钮,我就得把所有的工作完成。这样,我在把命令以telnet方式发送出去时,遇到了很多麻烦。
2、ftp客户端我还没有找到源码解决方案
3、如果不做类似的telnet客户端,而是改做一个rsh程序就方便多了,但是我找不到相关的rsh程序的代码。有人能给我一些想法和一些可参考的源码吗?谢谢了

解决方案 »

  1.   

    参考:
    http://www.cnblogs.com/liubr/archive/2005/02/03/101319.html
    http://www.cnblogs.com/thomas/archive/2005/01/30/99427.html
      

  2.   

    ftp的问题我解决了,虽然不是用的jiezhi给的源码,但是还是非常感谢你,结帖的时候会给你加分的。我现在就是想把telnet也做得像ftp的这个源码这样使用简单就好了。
      

  3.   

    我在sourceforge上找了telnet类的源码,现在有个问题就是,telnet的执行过程是异步通讯,所以,当我用程序控制(而不是在telnet终端上敲命令)输入命令时,怎么控制两条命令的间隔,以保证真正在一条命令运行完了之后才会运行第二条命令。