python爬虫项目班 资料 雍俊海java程序设计教程 java2007_ch121_第1页
python爬虫项目班 资料 雍俊海java程序设计教程 java2007_ch121_第2页
python爬虫项目班 资料 雍俊海java程序设计教程 java2007_ch121_第3页
python爬虫项目班 资料 雍俊海java程序设计教程 java2007_ch121_第4页
python爬虫项目班 资料 雍俊海java程序设计教程 java2007_ch121_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2020/9/1,1,Java程序设计Programming in Java,雍俊海 清华大学软件学院 School of Software , Tsinghua University ,2020/9/1,2,教材,雍俊海. Java程序设计教程. 北京: 清华大学出版社, 2007.,2020/9/1,3,习题集,雍俊海. Java程序设计习题集(含参考答案). 北京: 清华大学出版社, 2006.,2020/9/1,4,参考文献,本课件的参考文献与下面书的参考文献相同 雍俊海. Java程序设计教程. 北京: 清华大学出版社, 2007. 雍俊海. Java程序设计习题集(含参考答案).

2、北京: 清华大学出版社, 2006. 雍俊海. Java程序设计. 北京: 清华大学出版社, 2004.,2020/9/1,5,第 12 章 网络程序设计,雍俊海( Jun-Hai Yong) 清华大学软件学院 School of Software , Tsinghua University ,2020/9/1,6,本章总体纲要,统一资源定位地址(URL) 基于TCP的网络程序设计 基于UDP的网络程序设计 基于SSL的网络程序设计,2020/9/1,7,Internet地址,在Internet上的计算机通过IP (Internet Protocol)地址标识 示例:

3、00 域名: 类 .InetAddress用来表示Internet地址,2020/9/1,8,创建类InetAddress的实例对象,类 InetAddress class 并不具有public的构造方法 但可以通过下列方法构造: static InetAddress getByAddress(byte addr) static InetAddress getByName(String host),2020/9/1,9,URL,类 URL 是网络资源定位器(Uniform Resource Locator), 指向网页(World Wide Web) 上的一个资源 这里的资源可以是文件/目录,

4、也可以是一些复杂的对象,如数据库或搜索引擎(search engine),2020/9/1,10,URL的格式,(Protocol)(Host):PortFile#Reference 示例 :8080/demoweb/urlprimer.html#INSTALL http:/localhost:8080/index.html#bottom 43/java/ mailto:,2020/9/1,11,说明,大多数URL可以分成五个部分: Protocol Host Port File Reference, 有时也称为

5、section 或 anchor 但并不都是必需的,2020/9/1,12,端口号: Port,端口号(Port) 范围: 0-65535 (16 bits) 小于1024: 用来对应特定的服务 (例如: telnet, SMTP, ftp等等) 服务端与客户端必须采用相同的端口号,2020/9/1,13,类: .URL,类.URL的实例对象表示具体的 URL public final class URL 类.URL的中构造方法: public URL(String u) throws MalformedURLException public URL(String protocol, Stri

6、ng host, String file) throws MalformedURLException public URL(String protocol, String host, int port, String file) throws MalformedURLException,2020/9/1,14,剖析 URL,类 .URL 具有五个成员方法,可以用来获取URL的五个部分: public String getProtocol( ) public String getHost( ) public int getPort( ) public String getFile( ) publ

7、ic String getRef( ),2020/9/1,15,本章总体纲要,统一资源定位地址(URL) 基于TCP的网络程序设计 基于UDP的网络程序设计 基于SSL的网络程序设计,2020/9/1,16,传输控制协议TCP,传输控制协议TCP (Transfer Control Protocol) 是一种基于连接的协议,可以在两台计算机之间提供可靠的数据传输 基于连接的协议 服务器端与客户端通过TCP协议进行通讯 TCP, 反过来, 运用了IP协议 IP 协议只用来处理数据包,2020/9/1,17,TCP/IP 网络模型,服务器端 ServerSocket(port#) ServerSo

8、cket.accept() OutputStream InputStream Socket.close(),客户端 Socket(host, port#) OutputStream InputStream Socket.close(),2020/9/1,18,类 .Socket,类.Socket允许如下的四种基本操作 1. 连接到远程的机器 2. 发送数据 3. 接收数据 4. 关闭连接,2020/9/1,19,类.Socket中的成员方法,构造方法 getInputStream(): 返回该socket所对应的输入流 getOutputStream():返回该socket所对应的输出流,20

9、20/9/1,20,创建类 Socket 的实例对象,构造方法 Socket() Socket(InetAddress address, int port) Socket(InetAddress address, int port, InetAddress localAddr, int localPort) Socket(String host, int port) Socket(String host, int port, InetAddress localAddr, int localPort) 示例: Socket javaSite = new Socket(, 80);,2020/9/

10、1,21,示例: J_Server.java,/ J_Server.java; 开发者: 雍俊海 / 基于TCP通讯例程的服务器端程序 import java.io.DataOutputStream; import .ServerSocket; import .Socket; public class J_Server public static void main(String args ) try ServerSocket server = new ServerSocket(5000); while (true) Socket s = server.accept( ); System.ou

11、t.println (服务器端接收到来自客户端的连接); DataOutputStream dataOut = new DataOutputStream(s.getOutputStream( ); dataOut.writeUTF(服务器端向客户端问好); dataOut.close( ); s.close( ); / while循环结束 catch (Exception e) / try-catch结构结束 / 方法main结束 / 类J_Server结束,2020/9/1,22,示例: J_Client.java,/ J_Client.java; 开发者: 雍俊海 / 基于TCP通讯例程的

12、客户端程序 import java.io.DataInputStream; import .Socket; public class J_Client public static void main(String args ) try Socket s = new Socket(localhost, 5000); DataInputStream dataIn = new DataInputStream(s.getInputStream( ); System.out.println(客户端接收到: + dataIn.readUTF( ); dataIn.close( ); s.close( );

13、 catch (Exception e) / try-catch结构结束 / 方法main结束 / 类J_Client结束,2020/9/1,23,本章总体纲要,统一资源定位地址(URL) 基于TCP的网络程序设计 基于UDP的网络程序设计 基于SSL的网络程序设计,2020/9/1,24,基于UDP的网络程序设计,UDP是一种简单的不可靠的无连接的网络数据传输协议,2020/9/1,25,.DatagramPacket,构造方法 public DatagramPacket(byte buf, int offset, int length, InetAddress address, int p

14、ort) 成员方法 public InetAddress getAddress( ) public int getPort( ),2020/9/1,26,.DatagramSocket,成员方法 public void send(DatagramPacket p) throws IOException public void receive(DatagramPacket p) throws IOException,2020/9/1,27,本章总体纲要,统一资源定位地址(URL) 基于TCP的网络程序设计 基于UDP的网络程序设计 基于SSL的网络程序设计,2020/9/1,28,基于SSL的网

15、络程序设计,密钥和证书管理工具keytool 基于SSL的服务器端和客户端程序 自定义安全提供程序和密钥管理器,2020/9/1,29,作业,习题12.8,2020/9/1,30,本课件使用要求,使用本课件,必须注明引用(具体见下一个幻灯片) 书及课件均可能出现一些错误和缺陷,恳切希望广大读者特别是讲授此课程的老师批评指正,2020/9/1,31,引用声明,本课件来源于(或参考了)下面的书及其课件: 雍俊海. Java程序设计教程. 北京: 清华大学出版社, 2007.,2020/9/1,32,免责声明,请合法使用课件,其用途应当合法有益而且不应对任何人造成任何伤害或损失 同时请注意教材作者及

16、出版社没有对本课件作出任何承诺与保证,2020/9/1,33,参考文献,本课件的参考文献与下面书的参考文献相同 雍俊海. Java程序设计教程. 北京: 清华大学出版社, 2007. 雍俊海. Java程序设计习题集(含参考答案). 北京: 清华大学出版社, 2006. 雍俊海. Java程序设计. 北京: 清华大学出版社, 2004.,2020/9/1,34,雍俊海编写过的教材和教参,雍俊海. 计算机动画算法与编程基础. 北京: 清华大学出版社. 2008. 雍俊海. Java程序设计. 北京: 清华大学出版社. 2008. 雍俊海. Java程序设计教程(第2版). 北京: 清华大学出版社. 2007. 雍俊海. Java程序设计习题集(含参考答案). 北京: 清华大学出版社, 2006. 雍俊海. Java程序设计. 北京: 清华大学出版社. 2004.,2020/9/1,35,雍俊海编写过的教材和教参,雍俊海. 计算机动画算法与编程基础. 北京: 清华大学出版社. 2008.,2020/9/1,36,雍俊海编写过的教材和教参,雍俊海.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论