java网络编程实验题远程访问服务器目录的程序

java网络编程实验题远程访问服务器目录的程序,第1张

代码如下。。。我测试过了。。。。下面两个类是在同一台机器上进行测试的,先运行Serverjava,再运行Clientjava
import javaio;
import javanet;
import javatextSimpleDateFormat;
import javautilDate;
public class Server {
public static void main(String[] args) throws Exception{
ServerSocket ss = new ServerSocket(8080);
Socket socket = ssaccept();
BufferedReader in = //获取客户端发过来的消息
new BufferedReader(
new InputStreamReader(socketgetInputStream()));
PrintWriter out = //用于向客户端发送消息
new PrintWriter(
new OutputStreamWriter(
socketgetOutputStream()),true);
while(true){
String message = inreadLine();//读取消息
if("quit"equals(message))//退出命令
break;
String s[] = messagesplit("\\s+");
if("dir"equals(s[0])){
File dir = new File(s[1]);
File[] files = dirlistFiles();
//向客户端发送文件消息
for(File file:files){
Date date = new Date(filelastModified());
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//日期格式化
FileInputStream is = new FileInputStream(file);
outprintln(filegetName()+"\t"+dfformat(date)+"\t"+((isavailable()+1023)/1024)+"k");
}
outprintln("ok");
}
}

socketclose();
inclose();
outclose();
ssclose();
}
}
-------------------------------------------------------------------------------------------------------------
import javaio;
import javanet;
public class Client {

public static void main(String[] args) throws Exception{
InetAddress add = InetAddressgetByName(null);
Socket socket = new Socket(add,8080);
BufferedReader in = //获取服务器端发过来的消息
new BufferedReader(
new InputStreamReader(socketgetInputStream()));
PrintWriter out = //用于向服务器端发送消息
new PrintWriter(
new OutputStreamWriter(
socketgetOutputStream()),true);
outprintln("dir d:/test");
String mes;
while(true){
mes = inreadLine();
if("ok"equals(mes))
break;
Systemoutprintln(mes);
}
outprintln("quit");

socketclose();
inclose();
outclose();
}
}
希望能帮到你。。。仍有问题可以追问或者直接HI我。。。

看你的提问 我想你的想法是通过数据库来存储名称 然后使用共享文件夹来保存文件 然后软件通过数据库的文件名来显示使用共享文件夹保存的
你这个解决方案弊端太多 1共享文件夹存在安全问题 里面的一览无余 2外网无法访问共享文件夹
我以前也做过类似的项目, 一次是使用了数据库来保存, 用流把文件写进库里 另外一次因为系统有web页面也要使用, 就使用了ftp协议来获取文件(涉及到上传下载就用了ftp 如果是只读的话用>在Windows2000 Server 服务器上配置 NAT(网络地址转换)
NAT与ICS一样,主要用于家庭网络或小型办公网络,它可以使用多台计算机共享单个的Internet连接
网络地址转换包括:
1转换组件
它的作用是转换公用网络和专用网络的IP地址,转换专用网络和Internet之间转发数据包的TCP/UDP 端口号。
2寻址组件
寻址组件是简化的 DHCP 服务器,它可以为专用网络中的客户机分配IP地址、子码掩码、默认网关以及 DNS 服务器的IP地址。通常它的地址池中只包含20个左右的地址,如你将NAT服务器的地址设置为19216811,那么它的静态地址池中包含的地址往往是从1921681100-
1921681120。
3名称解析组件
名称解析组件充当专用网络上其它计算机的DNS服务器。当NAT服务器接受到专网上客户机的DNS请求时,它会将该请求转发到指定的Internet上的DNS服务器,并将响应返回给专用网络上的计算机。
一、配置服务器网卡
(1)在服务器上安装两块网卡,安装完毕后,"网络和拨号连接"文件夹中会出现两个连接:本地连接和本地连接2,为了方便 *** 作,我们将这两个连接分别改名为“内网连接”和“校园网连接”。其中“内网连接”连接到内部网络的交换机端口,内网的所有计算机都连接在这个交换机上组成一个小型的局域网;“校园网连接”连接到校园网的交换机端口上,这个交换机连接到网络中心,从而连接到Internet。
(2)配置“内网连接”网卡:IP地址设置为19216811,子网掩码设置为2552552550,默认网关不配置,其它采用默认值。
(3)配置“校园网连接”网卡:IP地址设置为172181055(由网络中心分配),子网掩码设置为2552552550,默认网关设置为1721810254(由网络中心分配),DNS设置为1721811。在配置“校园网连接”网卡时注意,如果这时不配置默认网关,那就必须在路由和远程访问中配置默认的静态路由条目(后述)。
二、配置服务器NAT地址转换
(1)启动“路由和远程访问”:“开始”菜单->“程序”->“管理工具”->“路由和远程访问”。默认状态下,将本地计算机列出为服务器要添加其他服务器,请在控制台目录树中,右键单击“服务器状态”,然后单击“添加服务器”。
(2)右击要启用的服务器(这儿是本地服务器),然后单击“配置并启用路由和远程访问”,启动配置向导。
(3)跳过欢迎页面,下一步进入向导的公共设置页面。公共设置页面共有5项供选择:Internet连接服务器、远程访问服务器、虚拟专用网络()服务器、网络路由器、手动配置服务器。我们这儿选择“Internet连接服务器”,下一步。
(4)进入Internet连接服务器设置页面,有两项选择:设置Internet连接共享和设置有网络地址转换(NAT)路由协议的路由器。选择“设置有网络地址转换(NAT)路由协议的路由器”,下一步。
(5)在Internet连接页面,有两项选择:使用选择的Internet连接和创建一个新的请求拨号Internet连接。选择“使用Internet连接”,在下面的Internet列表中选项“校园网连接”,我们将让客户机通过这条连接访问Internet。下一步。
(6)完成向导,系统将启动路由和远程访问功能并完成初始化工作。
(7)如果我们在配置服务器网卡时已经给“校园网连接”配置了默认的网关,那么我们服务器的配置就完成了。如果没有配置,我们需要再配置一下静态路由。
(8)配置静态路由:“服务器”->“IP路由选择”->“静态路由”。右击“静态路由”,选择“静态路由”快捷菜单,调出“静态路由”配置对话框。在接口中连接“校园网连接”,目标与子网掩码均填写“0000”,网关填写“1721810254”,跃点数填写“1”。“确定”退出
三、客户端设置
客户端的设置比较简单,主要是IP地址设置。
(一)自动获得取IP地址
“控制面板”->“网络”,打开“网络”对话框。将网卡的TCP/IP属性设置为自动获得IP地址,自动获得DNS服务器地址。确定退出。
(二)人工设置IP地址
将计算机的地址设置为“19216812”,子网掩码为“2552552550”,网关为“19216811”,DNS服务器地址“1721811”,这儿也可以设置其它的DNS地址,不必一定要设置个地址的。确定退出。
(三)因为NAT服务器使用了自动分配地址的机制,因此在人工设置IP地址时要注意不要发生地址冲突。
四、测试连接情况
1、客户机Ping一下NAT服务器,包括ping 19216811与ping 172181055
2、客户机Ping一下路由器:ping 1721810254
3、服务器Ping一下客户机,如:ping 19216812
4、客户机打开IE测试一下网站访问情况,通常不会有什么问题的。

在地址栏内输入命令即可。

        例如,想访问IP为1921681201的电脑的D盘,那么,在你本机的地址栏内输入:\\1921681201\D$ ,然后回车即可,当然,前提是你知道对方电脑密码,或者对方电脑没有设置密码。

如果你有共享文件夹,只想让指定的人看到,其他人都看不到的话,在你需要共享的文件夹后加上“$”符号即可,那么此时访问这个共享文件夹只能通过输入完整路径来查看,普通方法是看不到的。

         例如,上面的IP下,D盘内有一个myjava文件夹已经设置共享,但是共享名后加了“$”符号,那么此时只能通过\\1921681201\D$\myjava 这种方法来查看。

本方法的原理是硬盘分区的默认共享,如果你不想让别人访问你的电脑,那么你可以关闭此默认共享


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12716943.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存