2 u012479416 u012479416 于 2013.10.17 17:45 提问

最近学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久,还是木有头绪。故来此,求解!!!

1个回答

dabing69221
dabing69221   2013.11.28 16:06

客户端程序中有package,在cmd中输入“ java severDemo.NetDemo1 ” 即可,别忘了建立相应的目录结构

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
【NYOJ-35】表达式求值——简单栈练习
表达式求值 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 Dr.Kong设计的机器人卡多掌握了加减法运算以后,最近又学会了一些简单的函数求值,比如,它知道函数min(20,23)的值是20 ,add(10,98) 的值是108等等。经过训练,Dr.Kong设计的机器人卡多甚至会计算一种嵌套的更复杂的表达式。 假设表达式可以简单定义为:
socket本地通信测试程序(Java)
这是一个适合初学者理解的服务器与客户端双向通信的Java代码示例, 使用方法:把服务器代码与客户端代码分别拷贝到自己创建的相应类中
步步测试完善Java中Socket通信图解法(三)
目录 简介 Java中Socket通信简介 单线程一对一服务器1——>1客户端 单线程一对一服务器11客户端 多线程一对多服务器1N客户端【非聊天室的服务器通过用户输入发送数据】 多线程一对多服务器1N客户端【聊天室】 多线程最终服务器和客户端集成一体【swing程序】      【多线程】一对多服务器1N客户端(非聊天室的服务器通过用户输入发送数据)
java装饰者模式做的图片工具类
初学java设计模式,求高手指点,求师父。
java题库8
1. 一个没有实现Serializable接口的父类,编写一个能够序列化的子类 ,只要父类实现了序列化的接口,或者,子类实现了序列化的接口就可以序列化 “transient”——“瞬态”,先不说这个翻译是否恰当,这个变量关键字一直不曾使用,简单的说就是被瞬态定义的变量不可序列号。或者这么给他换个名字——“不可序列化状态”。 打个比方,如果一个用户有一些敏感信息(譬如密码,银行卡号等),为了安
Mac Intellij idea 启动 tomcat 时跳屏
每次启动和关闭 tomcat 时,屏幕总要从全屏的 idea 界面跳到桌面 dock 栏这边,困扰好久了,网上竟然搜不到有类似经历的。。 求助 idea 版本是 15.0 macos 版本是 10.12.5解决办法:配置-Dapple.awt.UIElement=true参考链接( http://hints.macworld.com/article.php?story=20071208235352
点到线段的最近点
第一种: 设直线方程为ax+by+c=0,点坐标为(m,n)      则垂足为((b*b*m-a*b*n-a*c)/(a*a+b*b),(a*a*n-a*b*m-b*c)/(a*a+b*b))  第二种:计算点到线段的最近点  如果该线段平行于X轴(Y轴),则过点point作该线段所在直线的垂线,垂足很容  易求得,然后计算出垂足,如果垂足在线段上则返回垂足,否则返回离垂足近的端
程序用JAVA编写,统计每个学生的总分
/*计算期末某门课程考试成绩,该课程有四道大题, 该班有X位同学,求出每个同学的成绩,然后分别输出*/ import java.util.Scanner;//Scanner is in java.uti public class exam { public static void main(String[] args) { Scanner input = new Scanner(System.in); int score;//假设该试题包含若干道大题,score是某大题的得分 int stuNo;//班级人 int sum = 0;//该学生改课程的分数总和 System.out.print("请输入该班学生总数:"); stuNo = input.nextInt();//从控制台输入该班学生总人数 //while循环,先判断循环条件,i是等于1的,当满足i小于等于输入的stuNo的值是,则执行循环操作,也就是第i加1个i int i = 1; while(i <= stuNo) { sum=0; System.out.println("请输入第 " + i + "同学的成绩"); for(int m=1;m<5;m++)//假设该试题包含四道大题 { System.out.print("请输入该学生第 "+m+" 大题的分数:"); score = input.nextInt(); while(score<0) { System.out.print("该分数不符合要求,请重新输入该学生第 "+m+" 大题的分数:"); score = input.nextInt(); } sum = sum + score; } //输出该学生的总分数 if((sum>=0)&&(sum<=100)) {System.out.println("该 同 学 总 分 数 是 :" +sum);} else {System.out.println("该同学总分数出现错误:" +sum+" 分数是不可能的成绩!! 请核实!");} i = i +1; } } }
java编写的简单的记事本小程序
简单的java记事本程序 实现了记事本的最基本功能,还有许多没有完善的地方,希望大家多多指教
找出二叉树上任意两个节点的最近共同父节点
#include #include struct node { int num; node *left; node *right; }; void creatree(node *&p,int a[],int start,int end)//使用*&p的原因 //要在函数体内修改形参的值,并且这个修改能作用到外面调用的实参,用单独的指针就不行,只能用指针的引用或者指针的指针