标题:调用Cmd的telnet没有反应的问题
只看楼主
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
结帖率:66.67%
已结贴  问题点数:20 回复次数:4 
调用Cmd的telnet没有反应的问题
程序里面要用到cmd执行些命令,但是输入错误的命令没有反应,输入telnet 这种也没有反应,没有任何返回,哪个高手知道的,来冒个泡~~

CmdControl.rar (37.8 KB)

2012-01-13 09:54
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
得分:10 
因为你只读取了输出流StandardOutput,报错的信息是从错误流StandardError中输出的,你除了读取输出流StandardOutput以外,还需要读取错误流StandardError中的内容
2012-01-13 11:13
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
得分:0 
错误流也读不出telnet 返回的结果

站在春哥的肩膀上
2012-01-13 13:56
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
得分:10 
这是当然的啊,telnet根本不是dos命令,你输入telnet,实际上是让dos去执行system32下面的telnet.exe,这个时候实际上由cmd进程再打开了一个telnet进程,cmd本身不会返回什么东西的,接下来你需要获取telnet进程中的输出流
2012-01-13 14:10
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
得分:0 
telnet.exe调用老是自动退出,最后还是用socket实现了,看来cmd只适合返回本机的信息

[ 本帖最后由 xydddaxia 于 2012-1-15 12:48 编辑 ]

站在春哥的肩膀上
2012-01-14 12:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-359611-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.055202 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved