文档介绍:第12章网络编程基础
学习目的:
了解网络编程基础
初步掌握Java中的Socket编程
了解常见的网络服务的实现
掌握Servlet的编程基础
了解Java的J2ME和J2EE编程平台
学习重点:
掌握网络编程中的基本概念
掌握Socket编程的实现
掌握Servlet编程基础
2017/11/10
2
第12章网络编程基础
本章提要:
1. Java网络编程基础
2. 客户/服务器编程
3. Socket编程实现
4. Java Servlet编程基础
5. J2ME和J2EE概述
2017/11/10
3
1. 网络体系结构
网络编程中有以下常用概念
2. 协议(Protocol)
3. OSI参考模型
4. IP地址和域名
5. 服务
2017/11/10
4
服务器和客户机
WinSock程序
服务器是提供服务的计算机,客户机是发出请求的计算机
端口(Port)
Socket套接字
服务器和客户机程序
服务多客户
数据报
2017/11/10
5
1. ServerSocket
构造函数
public ServerSocket(int port) throws IOException
以指定的端口创建一个服务器端的Socket对象,负责进行监听和应答客户机请求等操作。
ept()方法可以应答客户机的请求,并返回一个Socket对象,可以负责与客户机进行通信。
public Socket accept() throws IOException
服务器和客户机
2017/11/10
6
2. Socket
Socket的构造函数和主要方法如下:
public Socket(String host ,int port) throws UnknownHostException ,IOException
public void close() throws IOException
public InputStream getInputStream() throws IOException
public OutputStream getOutputStream() throws IOException
服务器和客户机
2017/11/10
7
3. 数据通信
数据的读和写都是以流的方式进行的。
BufferedReader is = new BufferedReader(new InputStreamReader(())); DataOutputStream os = new DataOutputStream(());
数据读写操作
(“Hello,server!\n”);
();
服务器和客户机
2017/11/10
8
4. 数据报UDP
public DatagramSocket(int port) throws SocketException
public void close() :关闭数据报套接字。
public void send(DatagramPacket p) throws IOException :发送一个数据包。
public void receive(DatagramPacket p) throws IOException
public DatagramPacket(byte[] buf , int length)
服务器和客户机
2017/11/10
9
Socket
网络程序设计技术
信息在一个进程的Socket和另一个进程的Socket间,以报文传输的形式进行交换。在发送端Socket,报文以队列的形式等待,直到网络协议传输它们。当报文到达到后,它们又在接收端的Socket排队,等待接收进程以一定的系统调用来接收它们。在C/S模式下,服务器是监听请求的进程,客户是发送请求的进程。一旦服务器进程接收到了请求,它就试图去处理该请求,并且将输出发送给客户。
2017/11/10
10