JAVA网络编程实验报告(网络编程实验报告总结)
(一)Java多线程 (二)输入输出流 (三)Java网络编程 (四)Java数据库编程
(1)多线程我感觉你应该知道首先实现线程类的两个方法。一个是继承Thread类.另一个是实现Runnable接口.然后怎样启动一个线程类。还有就是实现的两种方法的区别。例如资源是不是能共享呀等等。
(2)对于输入输出流.你首先要明白任何输出流输入流都是继承自OutputStream InputStream 还有Writer Reader。说得简单一点所有字符流的祖先都是(Writer或者Reader)而所有字节流的祖先都是
(OutputStream 或者InputStream)其中你还要明白字符和字节的区别。最后以上所有的祖先都是抽象的。所以要实现都是通过多态来实现的。用父类的引用指用子类的实例。
(3)Java网络编程这个就不好说了。全得平时的理解加上网络课的学习
(4)java数据库编程这个比较重要。首先你得知道。常用的数据库有那些。然后怎样让java程序与数据库连接起来。一般采用都是thin(对于oracle)然后。你得记住那些很固定的格式。例如什么驱动的字符呀。还有就是url呀。等等各个数据库是不一样的。例如oralce你要加载驱动你得用Class.forName("oracle.jdbc.driver.OracleDriver");其中里面的那个格式每个数据库都不一样。最后你得知道怎样从数据库里面查询一个你想要的结果。然后怎样能过程序得到这个结果。这就是jdbc里提供的一些方法了。例如像什么ResulSet对象呀。等等。总之多多练习就能了解的。
java网络编程实验题远程访问服务器目录的程序
代码如下。。。我测试过了。。。。下面两个类是在同一台机器上进行测试的,先运行Server.java,再运行Client.java
import java.io.*;
import java.net.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Server {
public static void main(String[] args) throws Exception{
ServerSocket ss = new ServerSocket(8080);
Socket socket = ss.accept();
BufferedReader in = //获取客户端发过来的消息
new BufferedReader(
new InputStreamReader(socket.getInputStream()));
PrintWriter out = //用于向客户端发送消息
new PrintWriter(
new OutputStreamWriter(
socket.getOutputStream()),true);
while(true){
String message = in.readLine();//读取消息
if("quit".equals(message))//退出命令
break;
String s[] = message.split("\\s+");
if("dir".equals(s[0])){
File dir = new File(s[1]);
File[] files = dir.listFiles();
//向客户端发送文件消息
for(File file:files){
Date date = new Date(file.lastModified());
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//日期格式化
FileInputStream is = new FileInputStream(file);
out.println(file.getName()+"\t"+df.format(date)+"\t"+((is.available()+1023)/1024)+"k");
}
out.println("ok");
}
}
socket.close();
in.close();
out.close();
ss.close();
}
}
-------------------------------------------------------------------------------------------------------------
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) throws Exception{
InetAddress add = InetAddress.getByName(null);
Socket socket = new Socket(add,8080);
BufferedReader in = //获取服务器端发过来的消息
new BufferedReader(
new InputStreamReader(socket.getInputStream()));
PrintWriter out = //用于向服务器端发送消息
new PrintWriter(
new OutputStreamWriter(
socket.getOutputStream()),true);
out.println("dir d:/test");
String mes;
while(true){
mes = in.readLine();
if("ok".equals(mes))
break;
System.out.println(mes);
}
out.println("quit");
socket.close();
in.close();
out.close();
}
}
希望能帮到你。。。仍有问题可以追问或者直接HI我。。。
JAVA用udp从本地网络穿透到公网之后,从其他网络作为客户端发送udp包到服务器正常接收。
你说的还不清楚。Java网络编程使用Socket,同为一个网络下的主机时是肯定没问题的,不论同一局域网或广域网。如果内网跨越网关,我没做过试验,按我的理解,内网主机做客户端,独立主机做服务器应该可行,反之不行。