求助 这个程序怎么运行不了

心意 2011-04-14 07:13:32
import java.io.*;
import java.net.*;
public class Whois {
public static void main(String args[])throws Exception{
int c;
Socket s=new Socket("baidu.com",43);
InputStream in=s.getInputStream();
OutputStream out=s.getOutputStream();
String str=(args.length==0?"qq.com":args[0]+"\n");
byte buf[]=str.getBytes();
out.write(buf);
while((c=in.read())!=-1){
System.out.print((char)c);
}
s.close();
}

}
...全文
192 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ouwaner 2011-04-19
  • 打赏
  • 举报
回复
telnet baidu.com 43
正在连接到baidu.com...不能打开到主机的连接, 在端口 43: 连接失败
tianshuguang 2011-04-19
  • 打赏
  • 举报
回复
谢谢啊!!![Quote=引用 8 楼 javaxiaochouyu 的回复:]
如果没有注释 不明白的话 就提出来 不过我相信你能OK
[/Quote]
心意 2011-04-18
  • 打赏
  • 举报
回复
O(∩_∩)O谢谢
张见 2011-04-18
  • 打赏
  • 举报
回复
路过看看。。
gxgldyh 2011-04-18
  • 打赏
  • 举报
回复
帮你看看啊!
l5854537x 2011-04-18
  • 打赏
  • 举报
回复
你看看 http 与 tcp 。
Jeelon 2011-04-16
  • 打赏
  • 举报
回复
如果没有注释 不明白的话 就提出来 不过我相信你能OK
Jeelon 2011-04-16
  • 打赏
  • 举报
回复
朋友 给你两个客户端与服务器端最简单的实例 你好好看看 :

//Servert端

import java.io.*;
import java.net.*;
public class TCPServer{
public static void main(String args[])throws Exception{
ServerSocket ss=new ServerSocket(8888);
Socket s=ss.accept();
BufferedReader brr=new BufferedReader(new InputStreamReader(s.getInputStream()));
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw=new PrintWriter(s.getOutputStream());
//System.out.println(brr.readLine());
String str;
while(!(str=brr.readLine()).equals("byebye")){
System.out.println("来自于Client:"+str);
pw.println(br.readLine());
pw.flush();
}
System.out.println("Server正在关闭,谢谢...");
brr.close();
pw.close();
br.close();
s.close();
ss.close();
}
}



//Client 端:
import java.io.*;
import java.net.*;
public class TCPClient{
public static void main(String args[])throws Exception{
Socket s=new Socket("127.0.0.1",8888);
BufferedReader brr=new BufferedReader(new InputStreamReader(s.getInputStream()));
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw=new PrintWriter(s.getOutputStream());
String str;
do{
str=br.readLine();
pw.println(str);
pw.flush();
if(!str.equals("byebye")){
System.out.println("来自于Server:"+brr.readLine());
}
else{
System.out.println("Client正在关闭,谢谢...");
}
}while(!str.equals("byebye"));
pw.close();
brr.close();
s.close();
}
}


XJAVASunjava 2011-04-15
  • 打赏
  • 举报
回复
端口是有的,抛开其他问题不说,楼主的

Socket s=new Socket("baidu.com",43);

服务器路径有问题,应该是www.baidu.com才是服务器端的路径,另外端口43你确定baidu开这个端口了吗?
建议楼主好好学下Socket编程基础....
wangjn1982 2011-04-15
  • 打赏
  • 举报
回复
lz是new了个Socket,但是没有利用Socket进行连接,所以无法获得返回值
BJ_黑夜 2011-04-15
  • 打赏
  • 举报
回复
有Socket 应该有 pocket 吧 至少要通信上啊 哥们 好好看看java 基础
心意 2011-04-15
  • 打赏
  • 举报
回复
教教我要怎么改。
ericzhou2010 2011-04-15
  • 打赏
  • 举报
回复
书也有错误得
心意 2011-04-15
  • 打赏
  • 举报
回复
额....我是看书上这样写的,去运行,运行不了

62,614

社区成员

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

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