Java网络编程-实现客户端与服务端的交互.doc

上传人:豆**** 文档编号:23972798 上传时间:2022-07-03 格式:DOC 页数:28 大小:191.50KB
返回 下载 相关 举报
Java网络编程-实现客户端与服务端的交互.doc_第1页
第1页 / 共28页
Java网络编程-实现客户端与服务端的交互.doc_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《Java网络编程-实现客户端与服务端的交互.doc》由会员分享,可在线阅读,更多相关《Java网络编程-实现客户端与服务端的交互.doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateJava网络编程-实现客户端与服务端的交互Java网络编程-实现客户端与服务端的交互在Socket的程序开发中,服务器端使用ServerSocket等待客户端的链接,对于Java的网路程序来讲,每一个客户端使用一个Socket对象表示。ServerSocketServerSocket类主要用在服务器端程序的开发上,用于接收客户端的链接请求。方法类型描述1Public

2、ServerSocket(int port) throws IOException构造创建ServerSocket实例,并指定监听端口2Public Socket accept() throws IOException普通等待客户端连接,此方法连接之前一直阻塞3Public InetAddress getInetAddress()普通返回服务器的IP地址4Public boolean isClosed()普通返回ServerSocket的关闭状态5Public void close() throws IOException普通关闭ServerSocketSocket在服务器端每次运行时都要使用

3、accept()方法等待客户端连接,此方法执行之后服务器端讲进入阻塞状态,直到客户端连接之后程序才可以向下继续执行,此方法的返回值是Socket,每一个Socket都表示一个客户端对象。方法类型描述1Public Socket(String host,int port) throws UnKnownHostExcetion,IOException构造构造Socket对象,同时指定要连接服务器的主机名称及连接端口。2Public InputStream getInputStream() throws IOException普通返回此套接字的输入流3Public OutputStream getO

4、utputStream() throws IOException普通返回此套接字的输出流4Public void close() throws IOException普通关闭此Socket5Public Boolean isClosed()普通判断此套接字是否被关闭多线程:Java的多线程实现:有两种方式:1. 继承Thread类2. 实现Runnable接口继承Thread类一个类只要继承了Thread类,此类就称为多线程操作类,在Thread子类中,必须覆写run()方法,此方法为线程的主体。BufferedReader是从缓冲区之中读取内容,所有的输入的字节数据都将放在缓冲区之中。Buf

5、feredReader实例化BufferedReader buf=new BufferedReader(new InputStreamReader(System.in);InputStreamReader是R eader的子类,将输入的字节流转化为字符流。对象输出流:ObjectOutputStream方法或常量类型描述1Public ObjectOutputStream(OutputStream out) throws IOException构造传入输出的对象2Public final void writeObject(Object obj) throws IOException普通输出对象

6、对象输入流:ObjectInputStream方法或常量类型描述1Public ObjectInputStream (InputStream in) throws IOException构造构造输入对象2Public final Object readObject() throws IOException, ClassNotFoundException普通从指定位置读取对象以下代码实现了服务端与客户端的交互:里面包含了网络编程、线程、流等知识点源代码:Server.java中的代码import java.io.*;import .*;public class Server ServerSock

7、et server; / 声明ServerSocketpublic Server() try server = new ServerSocket(5566); / 构建服务,绑定端口 catch (IOException e) / TODO 自动生成 catch 块e.printStackTrace();public void startServer() /定义startServer方法,由此启动服务ServerThread st = new ServerThread(); /new出一个新线程st.start(); /启动线程public static void main(String ar

8、gs) Server s1 = new Server(); /用Server类创建一个S1对象,此为对象实例化s1.startServer();/调用startServer()方法class ServerThread extends Thread /继承Thread类public void run() while (true) try System.out.println(开始监听:);Socket formClient = server.accept();ObjectOutputStream oos = new ObjectOutputStream(formClient.getOutputS

9、tream();BufferedReader buf = new BufferedReader(new InputStreamReader(System.in);System.out.println(请输入:);String s = buf.readLine();oos.writeObject(s);ObjectInputStream ois = new ObjectInputStream(formClient.getInputStream();String sc = (String) ois.readObject();System.out.println(客户端说: + sc);Thread

10、.sleep(100); catch (IOException e) / TODO 自动生成 catch 块e.printStackTrace(); catch (ClassNotFoundException e) / TODO 自动生成 catch 块e.printStackTrace(); catch (InterruptedException e) / TODO 自动生成 catch 块e.printStackTrace();Client.java中的代码:import java.io.*;import .*;public class Client public static void

11、main(String args) while (true) try Socket toServer = new Socket(InetAddress.getLocalHost(), 5566);BufferedReader buf = new BufferedReader(new InputStreamReader(System.in);ObjectInputStream ois = new ObjectInputStream(toServer.getInputStream();String s = (String) ois.readObject();System.out.println(服

12、务器端说: + s);ObjectOutputStream oos = new ObjectOutputStream(toServer.getOutputStream();System.out.println(请输入:);String sc = buf.readLine();oos.writeObject(sc); catch (UnknownHostException e) / TODO 自动生成 catch 块e.printStackTrace(); catch (IOException e) / TODO 自动生成 catch 块e.printStackTrace(); catch (C

13、lassNotFoundException e) / TODO 自动生成 catch 块e.printStackTrace();运行说明把Server.java和Client.java两个文件放到同一个文件夹,比如放在F:网络编程 文件夹下。运行步骤:开始-运行-cmd-cd F:网络编程-F:-javac Server.java-java Server运行成功会出现以下画面:此时等待客户端连接,不要关闭此窗口再次运行- cmd-cd F:网络编程-F:-javac Client.java-java Client客户端出现:这时去看服务端窗口,会有“请输入”的提示:在里面输入内容再看客户端会出现如下窗口:这时从客户端输入内容按回车,服务端即会接受并打印出内容。功能实现!-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁