客户端代码- package cn.itcast.net.p5.tcptest;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.PrintWriter;
- import java.net.Socket;
- import java.net.UnknownHostException;
- public class TransClient {
- /**
- * @param args
- * @throws IOException
- * @throws UnknownHostException
- */
- public static void main(String[] args) throws UnknownHostException, IOException {
- /*
- * 思路:
- * 客户端:
- * 1,需要先有socket端点。
- * 2,客户端的数据源:键盘。
- * 3,客户端的目的:socket.
- * 4,接收服务端的数据,源:socket。
- * 5,将数据显示在打印出来:目的:控制台.
- * 6,在这些流中操作的数据,都是文本数据。
- *
- *
- * 转换客户端:
- * 1,创建socket客户端对象。
- * 2,获取键盘录入。
- * 3,将录入的信息发送给socket输出流。
- */
-
- //1,创建socket客户端对象。
- Socket s = new Socket("192.168.1.100",10004);
-
- //2,获取键盘录入。
- BufferedReader bufr =
- new BufferedReader(new InputStreamReader(System.in));
-
- //3,socket输出流。
- // new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
- PrintWriter out = new PrintWriter(s.getOutputStream(),true);
-
-
- //4,socket输入流,读取服务端返回的大写数据
- BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
-
- String line = null;
-
- while((line=bufr.readLine())!=null){
-
- if("over".equals(line))
- break;
-
- // out.print(line+"\r\n");
- // out.flush();
- out.println(line);
-
- //读取服务端发回的一行大写数。
- String upperStr = bufIn.readLine();
- System.out.println(upperStr);
- }
-
- s.close();
-
- }
- }
复制代码 服务器端代码- package cn.itcast.net.p5.tcptest;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.PrintWriter;
- import java.net.ServerSocket;
- import java.net.Socket;
- public class TransServer {
- /**
- * @param args
- * @throws IOException
- */
- public static void main(String[] args) throws IOException {
- /*
- *
- * 转换服务端。
- * 分析:
- * 1,serversocket服务。
- * 2,获取socket对象。
- * 3,源:socket,读取客户端发过来的需要转换的数据。
- * 4,目的:显示在控制台上。
- * 5,将数据转成大写发给客户端。
- */
-
- //1,
- ServerSocket ss = new ServerSocket(10004);
-
- //2,获取socket对象。
- Socket s = ss.accept();
-
- //获取ip.
- String ip = s.getInetAddress().getHostAddress();
- System.out.println(ip+"......connected");
-
- //3,获取socket读取流,并装饰。
- BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
-
- //4,获取socket的输出流,并装饰。
- PrintWriter out = new PrintWriter(s.getOutputStream(),true);
-
- String line = null;
- while((line=bufIn.readLine())!=null){
-
- System.out.println(line);
- out.println(line.toUpperCase());
- // out.print(line.toUpperCase()+"\r\n");
- // out.flush();
- }
-
- s.close();
- ss.close();
-
- }
- }
复制代码 没有错啊怎么就是不能运行呢
Microsoft Windows [版本 6.2.9200]
(c) 2012 Microsoft Corporation。保留所有权利。
E:\Users\yahui>start
E:\Users\yahui>javac TransClient.java
E:\Users\yahui>java TransClient
Exception in thread "main" java.lang.NoClassDefFoundError: TransClient (wrong na
me: cn/itcast/net/p5/tcptest/TransClient)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
2)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:480)
E:\Users\yahui>
很是郁闷 |