




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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镀锌钢管骨架采购合同
- 2025二级建造师建设工程施工管理考点:合同管理索赔程序
- 2025年武汉单身公寓租赁合同模板
- 2025设备安装合作协议合同范本
- 2025信息安全咨询技术合同
- 2025水果收购合同书样本
- 2025【景观设计合同】景观工程设计包括内容
- 《胃镜检查技术》课件
- 2025标准简化版合同范本
- 2025标准版:员工签订长期合同协议范本
- DNA的粗提取和鉴定(香蕉)
- 【水力学】-水力学课后答案2
- 新能源公司技术监督考试附有答案
- NFPA59A2021中文版液化天然气生产储存和装运标准
- 企业能源审计与能源审计报告编写
- 九宫数独题200题及答案
- 电子产品装配工艺要求
- 某某小学关于课时、课程、作业等的减负情况汇报
- 德语四级真题2023
- 2023年大学生创业的商业计划书模板(四篇)
- 夜间施工措施
评论
0/150
提交评论