1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 段鹏飞java_面向对象与多线程综合实验-网络编程

段鹏飞java_面向对象与多线程综合实验-网络编程

时间:2023-07-14 07:35:56

相关推荐

段鹏飞java_面向对象与多线程综合实验-网络编程

教师:段鹏飞

实验5-实验目的

了解Java网络编程基础知识;掌握包中关于网络的基本类及其属性和方法;掌握基于Socket的客户和服务器编程方法.

实验内容(必做)

编写程序,将前面课程所编写的档案管理系统从单机版改编成为客户机/服务器模式,实现档案文件在客户机和服务器之间的上传、下载.完成功能:1、建立服务器工程2、客户端选择一个文件上传后,客户端与服务器建立连接,将文件发送到服务器,服务器将文件接收并保存,同时将文件信息和保存的路径写入数据库.3、用户可以通过客户端文件列表进行文件下载操作(下载时,客户端将文件ID发给服务器,服务器通过ID在数据库中查找到相应的文件路径信息,然后读取文件,通过网络将文件发送给客户端).

实验内容(选做)

1、客户端不能连接数据库,只有通过服务器端程间接访问数据库.2、客户端通过服务器端获取文件的列表信息,并在客户端界面上进行列表显示.3、客户端通过服务器完成对用户的增、删、查、改.提示:1、在网络这一块,开一个端口就好了,网络通信采用"请求-应答"的思想,也就是说,客户端向服务器提交一个请求,服务器生成相应的结果,返回给客户端.2、采用对象串行化的思想,定义一个类进行数据传输.(参考课本235页)

对象串行化(仅供参考)

Socket应用

客户端与服务器端的实现

客户端

服务器端

*8.5

Socket

.8.5

Socket

创建服务器(端口号)

定义数据成员

服务器等待网络连接

建立socket流

读客户

端信息

向用户发出一个字符串

创建Socket实例

定义数据成员

建立socket流读socket流(接收并显示)

送用户名给服务器

关闭流

waiting

for

user

127.0.0.1

1111

1111

login:

connetcting

client...

java

提示用户登录成功

读socket流User

:java

Login

successful

*Socket应用

ServerSocket

s=null;String

hello

="Hello

World!";try

{s=new

ServerSocket(5432);}

catch(IOException

e){System.out.println(e);System.exit(1);}while(true)

{try

{Socket

cs=s.accept();OutputStream

out

=cs.getOutputStream();DataOutputStream

dos

=new

DataOutputStream(out);dos.writeUTF(hello);out.close();cs.close();}

catch(IOException

e){System.out.println(e);

}}me.ServerSocket

LocalhostSocket

OutputStream

InputStream

InputStream

OutputStream

接收连接

打开输出流

写入输出流

关闭输出流

关闭连接

监听端口

*Socket应用

对客户端对Socket进行读写-实例

import

.*;import

java.io.*;public

class

SimpleClient

{public

static

void

main(String

args[])

{Socket

s=new

Socket("me.",

5432);InputStream

in=s.getInputStream();DataInputStream

dis

=new

DataInputStream(in);String

st=dis.readUTF();System.out.println(st);in.close();s.close();}}

me.ServerSocket

LocalhostSocket

OutputStream

InputStream

InputStream

OutputStream

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。