内蒙古科技大学 教案 第十一章网络编程 掌握TCP与UDP概念 掌握编写TCP程序的方法 §11.1网络编程基础 Internet上的每一台计算机都有一个地址。Interet地址是网络上标识每台计算机 的惟一定义的数。P地址有32位,我们通常把它们分成4个从0到255的,有点号() 隔开的序列。 Internet上的主机有两种方式表示地址: ①域名:例如,www.imust.cn ②1P地址:例如,202.108.35210 域名容易记忆 当你在连接网络时输入 一个主机的域名后,域名服务器(DNS) 负责将域名转化成P地址,这样我们才能和主机建立连接。 如何确定通讯的目标,分为两部分: 主机:使用P地址或域名 端口:用于区分同一台主机上的不同种的服务程序,将数据投递到正确的应用程 序。 端口 01023 系统使用 1024~65535用户使用,最好8000以上 A包提供实现网络应用程序的类。at包中的一些常用的类如下 表示互联网协议 P)地址 ServerSocket实现服务器套接字 Socket实现客户端套接字。 §1l.2 InetAddress类 Java语言中使用InetAddress类对IP地址建模.InetAddress类在java.net包中。 L,获取Internet上主机的地址:使用InetAddress类的静态方法: public static InetAddress getByName(String host) 在给定主机名的情况下确定主机的P地址 2.获取本地机的地圳 我们可以使用InetAddress类的静态方法: getLocalHost(). 获得一个InetAddress对象,该对象含有本地机的计算机名和IP地址。 第1页
内 蒙 古 科 技 大 学 教 案 第 1 页 第十一章 网络编程 本章学习重要目标: 掌握 InetAddress 类 掌握 TCP 与 UDP 概念 掌握编写 TCP 程序的方法 §11.1 网络编程基础 Internet 上的每一台计算机都有一个地址。Internet 地址是网络上标识每台计算机 的惟一定义的数。IP 地址有 32 位,我们通常把它们分成 4 个从 0 到 255 的,有点号(.) 隔开的序列。 Internet 上的主机有两种方式表示地址: ① 域名:例如,www.imust.cn ② IP 地址:例如,202.108.35.210 域名容易记忆,当你在连接网络时输入一个主机的域名后,域名服务器(DNS) 负责将域名转化成 IP 地址,这样我们才能和主机建立连接。 如何确定通讯的目标,分为两部分: 主机:使用 IP 地址或域名 端口:用于区分同一台主机上的不同种的服务程序,将数据投递到正确的应用程 序。 端口 0~1023 系统使用 1024~65535 用户使用,最好 8000 以上 java.net 包提供实现网络应用程序的类。java.net 包中的一些常用的类如下: InetAddress 表示互联网协议 (IP) 地址。 ServerSocket 实现服务器套接字。 Socket 实现客户端套接字。 §11.2 InetAddress 类 Java 语言中使用 InetAddress 类对 IP 地址建模。InetAddress 类在 java.net 包中。 1.获取 Internet 上主机的地址:使用 InetAddress 类的静态方法: public static InetAddress getByName(String host) 在给定主机名的情况下确定主机的 IP 地址。 2.获取本地机的地址 我们可以使用 InetAddress 类的静态方法: getLocalHost(); 获得一个 InetAddress 对象,该对象含有本地机的计算机名和 IP 地址
内蒙古科技大学 教 案 §11.3TCP与UDP 在服务器和客户机之间传递信息有两种方式 1:基于TCP(传输控制协议)的可靠的有连接通信 它需要先建立连接,然后传递数据,所有数据按照一定顺序发送和接收,最后关闭连 接。在这种方式下,连接讨程建立了一个通道,保证了数据到达的正确性和可党性。 数据在传送过程中,数据包中不必包含包的源和目的信息 2:基于UDP(用户数据报协议)非可靠的无连接通信。 数据报文中每个包都需要包含该包的完整的源和目的信息,以指明其走向。在很 多网络通信场合中是不需要建立通信管道的,尤其是在网络传输中相对可靠性要求来 说速度显得更重要时。例如传输声音信号, 响。在网络组播、 §11.4编写TCP程序 在TCP通信过程中,服务器进程端口绑定一个Socket,.监听客户请求 服务进程 请求 服务进程与客户进程各绑定一个Socket,进行相互通信。 ServerSocket类介绍: 构造方法: 创建非绑定服条器态接字。 创建绑定到特定端口的服务器套接字 其它方法: public Socket Socket类介绍 构造方法: Socket)(通过系统默认类型的Socketlmpl创建未连接套接字 Socket(InetAddress address,int port)创建一个流套接字并将其连接到指定P地 址的指定端口号。 其它方法: InputStream getlnputStream() 返回此套接字的输入流。 第2页
内 蒙 古 科 技 大 学 教 案 第 2 页 §11.3 TCP 与 UDP 在服务器和客户机之间传递信息有两种方式: 1:基于 TCP(传输控制协议)的可靠的有连接通信 它需要先建立连接,然后传递数据,所有数据按照一定顺序发送和接收,最后关闭连 接。在这种方式下,连接过程建立了一个通道,保证了数据到达的正确性和可靠性。 数据在传送过程中,数据包中不必包含包的源和目的信息。 2:基于 UDP(用户数据报协议)非可靠的无连接通信。 数据报文中每个包都需要包含该包的完整的源和目的信息,以指明其走向。在很 多网络通信场合中是不需要建立通信管道的,尤其是在网络传输中相对可靠性要求来 说速度显得更重要时。例如传输声音信号,少量数据包的丢失对整体音效没有太大影 响。在网络组播、在大多数的网络游戏中也采用 UDP 协议进行通信。 §11.4 编写 TCP 程序 在 TCP 通信过程中,服务器进程端口绑定一个 Socket,监听客户请求 服务进程响应请求 服务进程与客户进程各绑定一个 Socket,进行相互通信。 ServerSocket 类介绍: 构造方法: ServerSocket() 创建非绑定服务器套接字。 ServerSocket(int port) 创建绑定到特定端口的服务器套接字。 其它方法: public Socket accept() : 侦听并接受到此套接字的连接。 Socket 类介绍: 构造方法: Socket() 通过系统默认类型的 SocketImpl 创建未连接套接字 Socket(InetAddress address, int port) 创建一个流套接字并将其连接到指定 IP 地 址的指定端口号。 其它方法: InputStream getInputStream() 返回此套接字的输入流。 OutputStreamgetOutputStream() 返回此套接字的输出流