问题描述
- 最近学java,在socket 程序的测试时搞不懂,求指点
-
我最近在学java,刚好学到了socke程序,我按照教程上写了服务端和客户端的程序,但是在进行联合俩个程序进行通信的时候却测试不了了。
服务端代码:
package severDemo;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class NetDemo {
public static void main(String[] args) throws Exception {
ServerSocket sever = new ServerSocket(8888);//在8888端口开启服务
Socket client = null; //定义连接的客户端
System.out.println("等待连接。。。");
client = sever.accept();//实例客户端
OutputStream out = client.getOutputStream() ;
PrintStream pout = new PrintStream(out);
pout.print("Hello,word!"); //输出内容
//关闭各个流和服务
pout.close();
out.close();
client.close();
sever.close();
}
}下面是客户端:
package severDemo;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.Socket;
public class NetDemo1 {
public static void main(String[] args) throws Exception {
Socket client = new Socket("localhost",8888);
BufferedReader bdf = new BufferedReader(new InputStreamReader(client.getInputStream()));
String str = bdf.readLine();
System.out.println("输出内容为:"+str);
client.close();
}
}
服务端我在eclipse中运行,客户端在cmd中执行,可结果如下:
Exception in thread "main" java.lang.NoClassDefFoundError:NetDemo1
以此百度之:都说是java环境变量设置有问题,可还是我用了众所周知的“Hello word!”的小程序在cmd测试了,完全木有问题啊。纠结了NNN久,还是木有头绪。故来此,求解!!!
解决方案
客户端程序中有package,在cmd中输入“ java severDemo.NetDemo1 ” 即可,别忘了建立相应的目录结构
时间: 2024-09-26 05:43:29