第十五章 网络编程.

Slides:



Advertisements
Similar presentations
软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
Advertisements

第四章 类、对象和接口.
第三讲 面向对象(上).
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
项目6 通用堆栈.
檔案處理.
Java程序设计教程 第一讲 Java概述.
Java的程式架構與基本觀念 Java語言的歷史 Java程式的開發環境 Java程式的架構 輸出與輸入物件之使用 工具使用方法介紹
四資二甲 第三週作業 物件導向程式設計.
第五章 字符串.
第二十章 圖型介面與網路對播 (GUI and Intercross Transition) 20-1 簡介 20-2 ActionListener Interface 20-3 ActionEvent Class 20-4 Vector Class 20-5 圖型介面與視窗關閉 20-6 圖型介面與資料顯示.
第十讲 网络通信 1、网络基本概念 2、Java与Internet 3、使用InetAddress 4、使用URL 5、Socket通信
网络程序设计 第二章 客户端Socket用法详解.
全球資訊網(WWW)簡介.
SSD1: Introduction to Information Systems
第二章 JAVA语言基础.
创意源自激情,技术成就梦想 畅翼创新俱乐部 2012年春俱乐部第三次技术培训 赵程.
第十三章 網路檔案傳遞(File Transition)
实验4 基于Socket的C/S程序开发 实验目的
Google 自訂搜尋 淡江大學資訊中心 專案發展組 朱家璁 2009/10/6.
Ch1.認識全球資訊網 1.1 「網際網路」與「全球資訊網」 1.2 全球資訊網的基礎 – 網頁與超連結
程式設計實作.
第5章 异常处理 王德俊 上海交通大学继续教育学院.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
Java语言程序设计 清华大学出版社 第9章 网络通信.
数据库操作示例 import java.sql.*; //导入java.sql包 public class JDBCDemo {
例外處理(Exception Handling)
第14章 Java网络编程 Java语言提供了强大的网络编程功能,能够处理各种网络资源以及进行网络通信。java.net包定义了Java语言网络编程的主要工具类。其中,包括代表网络IP地址的InetAddress类;与URL有关的URL类和URLConnection类;与网络通信有关的Socket类和ServerSocket类。本章包括以下知识点。
Java 第28讲:建立删除文件 主讲教师:李焱 讲师.
2018/11/20 第一章 Java概述 武汉大学计算机学院计算机应用系 2018/11/20 14:33.
JAVA 编 程 技 术 主编 贾振华 2010年1月.
C#程序设计 c# programming 网络编程 C#程序设计课程组.
程式設計實作.
第四章 基本輸出入 Java應用程式的輸出入介面有三種,分別是命令提示字元視窗、AWT元件、及Swing元件。本單元先介紹命令提示字元視窗,AWT請看第16、17章,Swing請看第20章。 輸入 輸出.
抽象类 File类 String类 StringBuffer类
第11章 Java网络编程 本章要点 11.1 网络基础 11.2 InetAddress编程 11.3 URL编程
西南科技大学网络教育系列课程 高级语程序设计(Java) 第十一章 Java 中的网络编程.
第六讲 JSP中的文件操作(2) 教学目的 本讲继续讲述JSP中使用Java输入、输出流实现文件的读写操作 。 1 文件上传 2 文件下载
2018/12/3 面向对象与多线程综合实验-网络编程 教师:段鹏飞.
2018/12/3 面向对象与多线程综合实验-网络编程 教师:段鹏飞.
Java语言程序设计 第五部分 Java异常处理.
王豐緒 銘傳大學資訊工程學系 問題:JAVA 物件檔輸出入.
Java语言程序设计 第八部分 Applet小程序.
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
Chapter 11:Java网络编程 授课教师:赵小敏 浙江工业大学 软件学院
异常及处理.
4、按钮事件.
C/C++/Java 哪些值不是头等程序对象
第十一章 Java的网络功能.
The Department of Education Technology
第五讲 JSP中的文件操作(1) 教学目的 本讲主要讲述JSP中使用Java输入、输出流实现文件的读写 操作 。 知识要点
4.2通讯服务模块线程之间传递信息 信息工程系 向模军 Tel: QQ:
Java语言程序设计 清华大学出版社 第8章 输入输出流(1).
Web Server 王宏瑾.
5.3 简单的tcp通讯 信息工程系 向模军 Tel: QQ:
第二章 Java基本语法 讲师:复凡.
第二章 Java基本语法 讲师:复凡.
XML備份MySQL資料庫 <html> <head>
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
2019/5/3 JAVA Socket(UDP).
第二章 Java语法基础.
第二章 Java基本语法 讲师:复凡.
第二章 Java基本语法 讲师:复凡.
助教:廖啟盛 JAVA Socket(UDP) 助教:廖啟盛
JAVA 程式設計與資料結構 第三章 物件的設計.
讀取網路資料及JSON開放資料 靜宜大學資管系 楊子青
判斷(選擇性敘述) if if else else if 條件運算子.
第十二章 Java网络编程 1.URL编程 2.Socket网络编程 3.Datagram网络编程.
第7章 Internet的应用.
第二章 Java基本语法 讲师:复凡.
Presentation transcript:

第十五章 网络编程

本章内容 使用java.net包中的类在程序中实现网络通信 URL类及其用法 Socket通信

URL URL(Uniform Resource Locator)----统一资源定位器,表示Internet上某一资源的地址。 protocol:resourceName URL举例: http://www.sun.com/ http://home.netscape.com/home/welcome.html http://www.sun.com.cn/developers/

java.net.URL类 常用构造方法 public URL(String spec); URL u1 = new URL(“http://home.netscape.com/home/”); public URL(URL context, String spec); URL u2 = new URL(u1, “welcome.html”); public URL(String protocol, String host, String file); URL u3 = new URL(“http”, “www.sun.com”, “developers/index.html” ); public URL (String protocol, String host, int port, String file); URL u4 = new URL(“http”, “www.sun.com”, 80, “developers/index.html” );

URL类应用举例(1) import java.io.*; import java.net.*; public class URLReader{ public static void main(String args[]){ try{ URL tirc = new URL("http://www.tsinghua.edu.cn/"); BufferedReader in = new BufferedReader(new InputStreamReader(tirc.openStream())); String s; while((s = in.readLine())!=null) System.out.println(s); in.close(); }catch(MalformedURLException e) { System.out.println(e); }catch(IOException e){ }

URL类应用举例(2) 程序URLReader.java输出结果: <html> <head> <title>清华大学网站首页</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <meta http-equiv="refresh" content="0;URL=./eng/index.htm"> </head> <body bgcolor="#FEFAF2" text="#000000" topmargin=0 leftmargin=0 marginwidth=0 marginheight=0> </body> </html>

Socket 两个Java应用程序可通过一个双向的网络通信连接实现数据交换,这个双向链路的一端称为一个socket。 socket通常用来实现client-server连接。 java.net包中定义的两个类Socket和ServerSocket,分别用来实现双向连接的client和server端 建立连接时所需的寻址信息 远程计算机的机器名或IP地址 试图连接的端口号(Port number)

Socket通信模型 Server Client ServerSocket s (port #) Socket (host, port #) (Attempt to connect) s.accept()/等待连接 Socket() OutputStream OutputStream InputStream InputStream socket.close() socket.close()

网络编程的四个基本步骤 创建socket; 打开连接到socket的输入/输出流; 按照一定的协议对socket进行读/写操作;

创建socket Socket/ServerSocket类的构造方法 Socket(InetAddress address, int port); Socket(InetAddress address, int port, boolean stream); Socket(String host, int port); Socket(String host, int port, boolean stream); ServerSocket(int port); ServerSocket(int port, int count);

客户端Socket的建立 try{ Socket socket=new Socket(”127.0.0.1",2000); }catch(IOException e){ System.out.println("Error:"+e); }

服务器端Socket的建立 ServerSocket server=null; try { server=new ServerSocket(2000); }catch(IOException e){ System.out.println("can not listen to :"+e); } Socket socket=null; socket=server.accept(); System.out.println("Error:"+e);

打开输入/出流 PrintStream os=new PrintStream(new BufferedOutputStream(socket.getOutputStream())); DataInputStream is=new DataInputStream(socket.getInputStream()); 关闭Socket os.close(); is.close(); socket.close();

简单的client/server程序 import java.net.*; import java.io.*; public class TestServer { public static void main(String args[]) { ServerSocket s = null; try { s = new ServerSocket(8888); } catch (IOException e) {} while (true) { Socket s1 = s.accept(); OutputStream os = s1.getOutputStream(); DataOutputStream dos = new DataOutputStream(os); dos.writeUTF("Hello,bye-bye!"); dos.close(); s1.close(); }

简单的client/server程序 import java.net.*; import java.io.*; public class TestClient { public static void main(String args[]) { try { Socket s1 = new Socket("127.0.0.1", 8888); InputStream is = s1.getInputStream(); DataInputStream dis = new DataInputStream(is); System.out.println(dis.readUTF()); dis.close(); s1.close(); } catch (ConnectException connExc) { System.err.println("服务器连接失败!"); } catch (IOException e) { }

Ex1 分析并运行M15-14、15页的client/server程序,体会Socket编程原理及其实现机制;