Java语言程序设计-Java网络编程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10.3.2 套接字Socket
IP地址标识Internet上的计算机,端口号标 识正在计算机上运行的进程(程序)。端口号与 IP地址的组合得出一个网络套接字。端口号被规 定为一个16位的整数0~65535。其中,0~1023被 预先定义的服务通信占用(如telnet占用端口23 ,http占用端口80等)。除非我们需要访问这些 特定服务,否则,就应该使用1024~65535这些端 口中的某一个进行通信,以免发生端口冲突。
10.2 UDP协议网络程序
10.2.1 UDP概述 10.2.2 发送数据 10.2.3 接收数据
10.2.4 数据包的传送1 10.2.5 数据包的传送2 10.2.6 数据包的传送3
10.2.1 UDP概述
UDP(User Datagram Protocol)是一 种无连接的协议,每个数据包都是一个独 立的信息,包括完整的源地址或目的地址, 它在网络上以任何可能的路径传往目的地, 因此能否到达目的地,到达目的地的时间 以及内容的正确性都是不能被保证的。使 用UDP时,每个数据包中都给出了完整的 地址信息,因此无须建立发送方和接收方 的连接。
10.3.4 ServerSocket类
题目要求:客户端向服务器 发出ASCII表的顺序值1~127, 服 务器接收这些数据,并将顺序值对 应的字符返回给客户。
10.3.5 创建TCP服务器端程序
步骤1:任务要求
使用前面介绍的ServerSocket类创建一个 TCP服务器端程序。其中ServerSocket监听9080 端口,等待客户端的连接请求。有客户端建立连 接后,接收客户端的信息,然后断开与客户端的 连接。当客户端连接次数超过10后,关闭服务器 端套接字。
10.3.3 ServerSocket类
ServerSocket类的主要构造方法如下: (1)public ServerSocket(int port) throws IOException (2)public ServerSocket(int port,int backlog) throws IOException (3)public ServerSocket(int port,int backlog,InetAddress bindAddr) throws IOException
Java网络编程
10.1
学习网络基础知识
10.2 学习UDP协议网络程序
10.3
学习TCP协议网络程序
10.4
学习HTTP协议网络程
序
10.1 学习网络基础知识
10.1.1
10.1.2
10.1.3
网络
地址与
套
Βιβλιοθήκη Baidu基础
InetAddress
接
知识
类
字
10.1.1网络基础知识
TCP/IP起源于美国国防部高级研究规 划署(DARPA)的一项研究计划——实现若 干台主机的相互通信。现在TCP/IP已成为 Internet上通信的标准。与OSI参考模型不 同,TCP/IP参考模型只有4层。这4个层次 从下往上依次是网络接口层、网际层、传 输层和应用层
10.3.1 TCP概述 10.3.2 套接字Socket 10.3.3 ServerSocket类
10.3.4 客户服务器数 据传输
10.3.5 创建TCP服务 器端程序
10.3.6 创建TCP客户 端程序
10.3.1 TCP概述
TCP(Tranfer Control Protocol)是 一种面向连接的保证可靠传输的协议。通 过TCP协议传输,得到的是一个顺序的无 差错的数据流。发送方和接收方的成对的 两个套接字之间必须建立连接,一旦两个 套接字连接起来,它们就可以进行双向数 据传输,双方都可以进行发送或接收操作 。与UDP不同,TCP对传输数据的大小没 有限制。
10.2.6 数据包的传送3
题目要求:利用DatagramSocket和 DatagramPacket类创建一个UDP客户端程 序。客户端首先发送请求数据包(空的数据 包),然后等待接收服务器端传回来的带有 服务器当前时间的数据包。显示服务器端 发送时的时间之后关闭 。
10.3 TCP协议网络程序
10.1.2 地址与InetAddress类
InetAddress类主要表示IP 地址,这个类有2个子类: Inet4Address、Inet6Address, 分别表示IPv4和IPv6。在Java中 提供了专门的网络开发程序包: java.net,InetAddress类就是其 中的类。
10.1.3 套接字
10.2.3 接收数据
DatagramSocket类的构造 方法DatagramSocket(int port) ,可以创建一个对象,其中的参 数必须和待接收的数据包的端口 号相同。
10.2.4 数据包的传送1
题目要求:两个主机互相发 送和接收数据包。
10.2.5 数据包的传送2
题目要求:利用DatagramSocket和 DatagramPacket类创建一个UDP客户端程 序。服务器端接收客户端发出来的空数据 包(代表客户端发出请求),由接收的数据 包获得客户端的IP地址和端口号。然后将 服务器端的当前时间以数据包的形式发给 客户端。当超过10个客户端请求后,服务 器端自动关闭 。
套接字是通信的基石,是支持TCP/IP 协议的网络通信的基本操作单元。可以将 套接字看成不同主机间的进程进行双向通 信的端点,它构成了单个主机内及整个网 络间的编程界面。套接字存在于通信域中, 通信域是为了处理一般的线程通过套接字 通信而引进的一种抽象概念。套接字通常 和同一个域中的套接字交换数据。
10.2.2 发送数据
1.创建DatagramPacket对象 在发送数据时,需要创建 DatagramPacket对象,首先用 DatagramPacket类将数据打包,即用 DatagramPacket类创建一个对象,称为数 据包。
10.2.2 发送数据
2.发送数据 发送数据时用 DatagramSocket 类的不带参数的构造方法: DatagramSocket()创建一个对象, 该对象负责发送数据包。