Topic: Socket类如何使用? |
Print this page |
1.Socket类如何使用? | Copy to clipboard |
Posted by: chpfeng Posted on: 2006-03-10 19:30 今天从<Thinking in Java> 2nd edition 上找个例子,试一下Socket 如何使用.结果总是出错.请帮忙!谢谢! //服务器端 import java.io.*; import java.util.*; public class JabberServer{ public static final int PORT=8080; //int PORT=8080; public static void main(String []args) throws IOException{ ServerSocket ss=new ServerSocket(PORT); System.out.println("Started..."+ss); try{ Socket socket1=ss.accept(); try{ System.out.println("Connetion Accepted:"+socket1); BufferedReader in=new BufferedReader(socket1.getInputStream()); PrintWriter out=new PrintWriter(new BufferedWriter (new OutputStreamWriter(socket1.getOutputStream())),true); while(true){ String str=in.readline(); if(str.equals("END")) break; System.out.println("Echoing:"+str); out.println(str); } }finally{ System.out.println("Closing.."); if(socket1!=null) socket1.close(); } } finally { ss.close(); } } } 编译出错信息: JabberServer.java:7: 找不到符号 符号: 类 ServerSocket 位置: 类 JabberServer ServerSocket ss=new ServerSocket(PORT); ^ JabberServer.java:7: 找不到符号 符号: 类 ServerSocket 位置: 类 JabberServer ServerSocket ss=new ServerSocket(PORT); ^ JabberServer.java:10: 找不到符号 符号: 类 Socket 位置: 类 JabberServer Socket socket1=ss.accept(); ^ JabberServer.java:17: 找不到符号 符号: 方法 readline() 位置: 类 java.io.BufferedReader String str=in.readline(); ^ 4 错误 //客户端程序 import java.io.*; import java.net.*; public class JabberClient{ public static void main(String[]args) throws IOException{ String host=null; if(args.length==1) host=args[0]; InetAddress ia=InetAddress.getByName(host); System.out.println("Address:"+ia); Socket socket1=new Socket(ia,JabberServer.PORT) ; try{ System.out.println("socket="+socket1); BufferedReader in=new BufferedReader(new InputStreamReader(socket1.getInputStream())); PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket1.getOutputStream())),true); for(int i=0;i<10;i++) { out.println("howdy"+i); String str=in.readline(); } out.println("END"); } finally{ System.out.println("Closing..."); socket1.close(); } } } 编译出错信息: JabberClient.java:15: 找不到符号 符号: 变量 Socket 位置: 类 JabberClient System.out.println("socket="+Socket); ^ JabberClient.java:21: 找不到符号 符号: 方法 readline() 位置: 类 java.io.BufferedReader String str=in.readline(); ^ .\JabberServer.java:7: 找不到符号 符号: 类 ServerSocket 位置: 类 JabberServer ServerSocket ss=new ServerSocket(PORT); ^ .\JabberServer.java:7: 找不到符号 符号: 类 ServerSocket 位置: 类 JabberServer ServerSocket ss=new ServerSocket(PORT); ^ .\JabberServer.java:10: 找不到符号 符号: 类 Socket 位置: 类 JabberServer Socket socket1=ss.accept(); ^ .\JabberServer.java:17: 找不到符号 符号: 方法 readline() 位置: 类 java.io.BufferedReader String str=in.readline(); ^ 6 错误 谢谢哪位能帮忙解决问题!谢谢 在此感谢前几日给我作出 回复的 tigwin !帮我解决了问题. 谢谢! |
2.Re:Socket类如何使用? [Re: chpfeng] | Copy to clipboard |
Posted by: Skybus Posted on: 2006-03-10 20:37 这个程序在原书本上应该是没有问题的,估计是你抄错了一些代码段,下面是我修改后的,标记红色的是修改的! 服务器端:
客户机端基本没错! 另外,你在贴代码时记得要加上代码标记,这样别人看的时候会方便一点! |
3.Re:Socket类如何使用? [Re: chpfeng] | Copy to clipboard |
Posted by: chpfeng Posted on: 2006-03-11 22:11 非常感谢你的回复! 下次再请教的时候,会加上 代码标记的! |
4.Re:Socket类如何使用? [Re: chpfeng] | Copy to clipboard |
Posted by: YuLimin Posted on: 2006-03-13 09:41 Java代码一定要注意大小写,如果你是C/C++过来的就没有问题了。 还有就是可以找个IDE来辅助帮你检查可能更好一些。。。 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |