版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、在Socket的程序开发中,服务器端使用ServerSocket等待客户端的链接,对于Java的网路程序来讲,每一个客户端使用一个Socket对象表示。ServerSocketServerSocket类主要用在服务器端程序的开发上,用于接收客户端的链接请求。方法类型描述1Public ServerSocket(int port) throws IOException构造创建ServerSocket实例,并指定监听端口2Public Socket accept() throws IOException普通等待客户端连接,此方法连接之前一直阻塞3Public InetAddress getInet
2、Address()普通返回服务器的IP地址4Public boolean isClosed()普通返回ServerSocket的关闭状态5Public void close() throws IOException普通关闭ServerSocketSocket在服务器端每次运行时都要使用accept()方法等待客户端连接,此方法执行之后服务器端讲进入阻塞状态,直到客户端连接之后程序才可以向下继续执行,此方法的返回值是Socket,每一个Socket都表示一个客户端对象。方法类型描述1Public Socket(String host,int port) throws UnKnownHostExc
3、etion,IOException构造构造Socket对象,同时指定要连接服务器的主机名称及连接端口。2Public InputStream getInputStream() throws IOException普通返回此套接字的输入流3Public OutputStream getOutputStream() throws IOException普通返回此套接字的输出流4Public void close() throws IOException普通关闭此Socket5Public Boolean isClosed()普通判断此套接字是否被关闭多线程:Java的多线程实现:有两种方式:1.
4、继承Thread类2. 实现Runnable接口继承Thread类一个类只要继承了Thread类,此类就称为多线程操作类,在Thread子类中,必须覆写run()方法,此方法为线程的主体。BufferedReader是从缓冲区之中读取内容,所有的输入的字节数据都将放在缓冲区之中。BufferedReader实例化BufferedReader buf=new BufferedReader(new InputStreamReader(System.in);InputStreamReader是R eader的子类,将输入的字节流转化为字符流。对象输出流:ObjectOutputStream方法或常量
5、类型描述1Public ObjectOutputStream(OutputStream out) throws IOException构造传入输出的对象2Public final void writeObject(Object obj) throws IOException普通输出对象对象输入流:ObjectInputStream方法或常量类型描述1Public ObjectInputStream (InputStream in) throws IOException构造构造输入对象2Public final Object readObject() throws IOException, Cl
6、assNotFoundException普通从指定位置读取对象以下代码实现了服务端与客户端的交互:里面包含了网络编程、线程、流等知识点源代码:Server.java中的代码import java.io.*;import .*;public class Server ServerSocket server; / 声明ServerSocketpublic Server() try server = new ServerSocket(5566); / 构建服务,绑定端口 catch (IOException e) / TODO 自动生成 catch 块e.printStackTrace();publ
7、ic void startServer() /定义startServer方法,由此启动服务ServerThread st = new ServerThread(); /new出一个新线程st.start(); /启动线程public static void main(String args) Server s1 = new Server(); /用Server类创建一个S1对象,此为对象实例化s1.startServer();/调用startServer()方法class ServerThread extends Thread /继承Thread类public void run() while
8、 (true) try System.out.println("开始监听:");Socket formClient = server.accept();ObjectOutputStream oos = new ObjectOutputStream(formClient.getOutputStream();BufferedReader buf = new BufferedReader(new InputStreamReader(System.in);System.out.println("请输入:");String s = buf.readLine();o
9、os.writeObject(s);ObjectInputStream ois = new ObjectInputStream(formClient.getInputStream();String sc = (String) ois.readObject();System.out.println("客户端说:" + sc);Thread.sleep(100); catch (IOException e) / TODO 自动生成 catch 块e.printStackTrace(); catch (ClassNotFoundException e) / TODO 自动生成 c
10、atch 块e.printStackTrace(); catch (InterruptedException e) / TODO 自动生成 catch 块e.printStackTrace();Client.java中的代码:import java.io.*;import .*;public class Client public static void main(String args) while (true) try Socket toServer = new Socket(InetAddress.getLocalHost(), 5566);BufferedReader buf = ne
11、w BufferedReader(new InputStreamReader(System.in);ObjectInputStream ois = new ObjectInputStream(toServer.getInputStream();String s = (String) ois.readObject();System.out.println("服务器端说:" + s);ObjectOutputStream oos = new ObjectOutputStream(toServer.getOutputStream();System.out.println(&quo
12、t;请输入:");String sc = buf.readLine();oos.writeObject(sc); catch (UnknownHostException e) / TODO 自动生成 catch 块e.printStackTrace(); catch (IOException e) / TODO 自动生成 catch 块e.printStackTrace(); catch (ClassNotFoundException e) / TODO 自动生成 catch 块e.printStackTrace();运行说明把Server.java和Client.java两个文件放到同一个文件夹,比如放在F:网络编程 文件夹下。运行步骤:开始-运行-cmd-cd F:网络编程-F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 各类瓦楞纸箱生产技术改造项目可行性实施报告
- 2025高考物理步步高同步练习选修1第二章 机械振动简谐运动的回复力和能量含答案
- 苏教版语文二年级下册知识点
- 大学英语六级改革适用(阅读)模拟试卷79(共220题)
- 《寓言两则》寓意深刻教案
- 《诗词中的节日》文化习俗教案
- 《儿童文学欣赏》童心童趣教案
- 综合练习试卷2(共178题)
- 专升本(高等数学二)模拟试卷3(共252题)
- 北京版小学科学第八册教案(全册)
- 2024-2025学年统编版(2024)道德与法治小学一年级上册教学设计
- 2024 OEM厂商加工业务合同细则
- XX药业公司受试者日记卡
- 消防自动报警及联动系统监理细则模板
- 《木偶奇遇记》PPT课件
- BS EN 341 CH
- 商品营业员考试题库(含答案)
- TY-460自动平台印刷机主运动机构分析与设计印刷机课程设计
- 船模车模航模社团教学计划
- 美容皮肤临床技术操作规范
- 把握股市“时空共振”规律听到股市“心跳”的人
评论
0/150
提交评论