如何获取telnet的数据

stefli 2006-03-30 04:00:26
我现在知道有个telnet服务器,端口为port
当我在dos里面使用telnet server地址 port
系统提示我已经进入telnet服务器,然后需要输入一个参数,比如是test。
然后回车,telnet服务器就会返回一段代码string。

我现在想通过socket来,发送test到telnet服务器地址,希望能够System.out.println(string)把返回值输出,该怎么做呢。

我使用getInputStream()和getOutputStream()总是不能够获取到数据。
...全文
586 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackychen_king 2006-03-30
  • 打赏
  • 举报
回复
简单的很,我想上面各位兄弟都写的很清楚了. 不知道到这里来找个源码吧? 那也太..... 不说了!
dztc 2006-03-30
  • 打赏
  • 举报
回复
mark
crazycy 2006-03-30
  • 打赏
  • 举报
回复
mark 呵呵 以前做项目中有这个要求从一个telnet上取一些数据
stefli 2006-03-30
  • 打赏
  • 举报
回复
非常感谢。不过我需要的是telnet后的数据。
yuzl32 2006-03-30
  • 打赏
  • 举报
回复
import java.net.*;
import java.io.*;

public class Servicer implements Runnable {
private Socket s;

public Servicer(Socket s){

this.s = s;
}

public void run(){

try{
InputStream ips = s.getInputStream();
OutputStream ops = s.getOutputStream();

BufferedReader br = new BufferedReader( new InputStreamReader(ips));
PrintWriter pw = new PrintWriter(ops,true);
while(true){

String strLine = br.readLine();

if(strLine.equalsIgnoreCase("quit")){

TCPServerDemo.count--;
if(TCPServerDemo.count==0)
TCPServerDemo.bRunning = false;
break;
}
System.out.println(strLine+"From"+s.getInetAddress().toString()+":"+s.getPort());
String strEcho = (new StringBuffer(strLine).reverse()).toString();
pw.println(strLine +"------>"+strEcho);
}

br.close();
pw.close();

s.close();
}
catch(IOException e){

e.printStackTrace();
}
}
}

// 文件二

import java.net.*;
import java.io.IOException;
public class TCPServerDemo {
static int count=0;
static boolean bRunning = true;
public static void main(String[] args){

try{
ServerSocket ss = new ServerSocket(8003);

//boolean bRunning = true;

while(bRunning){

Socket s = ss.accept();
if(s!=null)
count++;
new Thread( new Servicer(s)).start();
}

ss.close();
}
catch(IOException e){

e.printStackTrace();
}
}
}

运行:
F:\>start

F:\>java TCPServerDemo

F:\>telnet 127.0.0.1 8003

输入quit后退出
stefli 2006-03-30
  • 打赏
  • 举报
回复
telnet 198.41.0.6 43
进去后输入chinaren.com
回车

我现在就想得到这个回车后的结果,我刚刚修改了一下你的Client端,但是结果不是很理想。
我在网上看到的也是这个程序。
  • 打赏
  • 举报
回复
public class MyServer {
public static void main(String[] args) throws IOException {
ServerSocket svrSocket = new ServerSocket(65321) ; //建立一个服务端连接,并且提供一个端口,其他计算机就可以来访问该端口
while(true){
Socket client = svrSocket.accept() ; //接受客户端请求
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream())) ;
PrintWriter out=new PrintWriter(client.getOutputStream());
while(true){
String str=in.readLine();
System.out.println(str);
out.println("has receive....");
out.flush();
if(str.equals("end"))
break;
}
client.close();
}

}
}



import java.net.*;
import java.io.*;

public class Client {
static Socket server;

public static void main(String[] args) throws Exception {
server = new Socket(InetAddress.getLocalHost(), 65321);
BufferedReader in = new BufferedReader(new InputStreamReader(server
.getInputStream()));
PrintWriter out = new PrintWriter(server.getOutputStream());
BufferedReader wt = new BufferedReader(new InputStreamReader(System.in));

while (true) {
String str = wt.readLine();
out.println(str);
out.flush();
if (str.equals("end")) {
break;
}
System.out.println(in.readLine());
}
server.close();
}}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧