济宁贵网站建设,网站开发需求分析word,wordpress 去掉顶部,vs2017做网站网络程序设计基础
局域网与互联网
为了实现两台计算机的通信#xff0c;必须用一个网络线路连接两台计算机。如下图所示 网络协议
1.IP协议
IP是Internet Protocol的简称#xff0c;是一种网络协议。Internet 网络采用的协议是TCP/IP协议#xff0c;其全称是Transmissio…
网络程序设计基础
局域网与互联网
为了实现两台计算机的通信必须用一个网络线路连接两台计算机。如下图所示 网络协议
1.IP协议
IP是Internet Protocol的简称是一种网络协议。Internet 网络采用的协议是TCP/IP协议其全称是Transmission Control Protocol/Internet Protocol。Internet 依靠TCP/IP协议在全球范围内实现了不同硬件结构、不同操作系统、不同网络系统间的互联。在Internet 网络上存在着数以亿计的主机每台主机都用网络为其分配的 Internet 地址代表自己这个地址就是I地址。到目前为止I地址用4个字节也就是32位的二进制数来表示称为IPv4。为了便于使用通常取用每个字节的十进制数并且每个字节之间用圆点隔开来表示I地址如192.168.1.1。现在人们正在试验使用16个字节来表示I地址这就是IPv6但IPv6还没有投入使用。
TCP/IP 模式是一种层次结构共分为4层分别为应用层、传输层、互联网层和网络层。各层实现特定的功能提供特定的服务和访问接口并具有相对的独立性如图所示。 2. TCP与UDP协议
在TCPAIP 协议栈中有两个高级协议是网络应用程序编写者应该了解的即传输控制协议(Transmission Control ProtocolTCP)与用户数据报协议User Datagram Protocol UDP。
TCP 协议是一种以固接连线为基础的协议它提供两台计算机间可靠的数据传送。TCP可以保证数据从一端送至连接的另一端时能够确实送达而且抵达的数据的排列顺序和送出时的顺序相同。因此TCP协议适合可靠性要求比较高的场合。就像拨打电话必须先拨号给对方等两端确定连接后相互才能听到对方说话也知道对方回应的是什么。
HTTP、FTP 和Telnet 等都需要使用可靠的通信频道。例如HTTP从某个URL读取数据时如果收到的数据顺序与发送时不相同可能就会出现一个混乱的HTML文件或是一些无效的信息。
UDP是无连接通信协议不保证数据的可靠传输但能够向若干个目标发送数据或接收来自若干个源的数据。UDP以独立发送数据包的方式进行。这种方式就像邮递员送信给收信人可以寄出很多信给同一个人且每一封信都是相对独立的各封信送达的顺序并不重要收信人接收信件的顺序也不能保证与寄出信件的顺序相同。
UDP 协议适合于一些对数据准确性要求不高但对传输速度和时效性要求非常高的网站如网络聊天室、在线影片等。这是由于TCP协议在认证上存在额外耗费可能使传输速度减慢而UDP协议即使有一小部分数据包遗失或传送顺序有所不同也不会严重危害该项通信。
端口与套接字
一般而言一台计算机只有单一的连到网络的物理连接Physical Connection所有的数据都通过此连接对内、对外送达特定的计算机这就是端口。网络程序设计中的端口port并非真实的物理存在而是一个假想的连接装置。端口被规定为一个在0~65535的整数。HTTP服务一般使用80端口,FTP 服务使用21端口。假如一台计算机提供了HTTP、FTP等多种服务那么客户机会通过不同的端口来确定连接到服务器的哪项服务上如图所示。 通常0~1023的端口数用于一些知名的网络服务和应用用户的普通网络应用程序应该使用1024以上的端口数以避免端口号与另一个应用或系统服务所用端口冲突。
网络程序中的套接字Socket用于将应用程序与端口连接起来。套接字是一个假想的连接装置就像插座一样可连接电器与电线如图所示。 Java 将套接字抽象化为类程序设计者只需创建Socket类对象即可使用套接字。
TCP程序
TCP网络程序设计是指利用Socket 类编写通信程序。利用TCP协议进行通信的两个应用程序是有主次之分的一个称为服务器程序另一个称为客户机程序两者的功能和编写方法大不一样。服务器端与客户端的交互过程如图所示。 服务器程序创建一个 ServerSocket服务器端套接字对象调用accept0方法等待客户机来连接客户端程序创建一个Socket对象请求与服务器建立连接服务器接收客户机的连接请求同时创建一个新的Socket 对象与客户建立连接。随后服务器继续等待新的请求 InetAddress 类
java.net包中的InetAddress类是与IP地址相关的类利用该类可以获取IP地址、主机地址等信息。 ServerSocket 类
ServerSocker 类的构造方法通常会抛出1OException异常具体有以下几种形式ServerSocket()创建非绑定服务器套接字。ServerSocket(int port)创建绑定到特定端口的服务器套接字。ServerSocket(int port, int backlog利用指定的backlog创建服务器套接字并将其绑定到指定的本地端口号上。ServerSocket(int port, int backlog, InetAddress bindAddress)使用指定的端口、侦听backlog和要绑定到的本地IP地址创建服务器。这种情况适用于计算机上有多块网卡和多个I地址的情况用户可以明确规定ServerSocket在哪块网卡或哪个IP地址上等待客户的连接请求。
ServerSocket 类的常用方法如表21.2所示。 TCP网络程序设计
编写客户端程序将用户在文本框中输入的信息发送至服务端并将文本框中输入的信息显示再客户端的文本域中。
UDP程序
基于 UDP通信的基本模式如下
将数据打包称为数据包然后将数据包发往目的地。接收别人发来的数据包然后查看数据包。
发送数据包的步骤如下
1使用DatagramSocketO创建一个数据包套接字。
2)使用DatagramPacket(byte[] buf,int offset, int length,InetAddress address,int port)创建要发送的数据包。
3)使用DatagramSocket 类的sendO方法发送数据包。
接收数据包的步骤如下
1使用DatagramSocket(int port)创建数据包套接字绑定到指定的端口。 (2使用 DatagramPacket(byte buf, int length)创建字节数组来接收数据包。
3使用DatagramPacket 类的receive0方法接收UDP包。
DatagramPacket类
java.net 包的DatagramPacket 类用来表示数据包。DatagramPacket 类的构造方法如下:
DatagramPacket(byte[] buf, int length)DatagramPacket(bytel] buf, int length, InetAddress address, int port)
第一种构造方法在创建DatagramPacket 对象时指定了数据包的内存空间和大小。
第二种构造方法不仅指定了数据包的内存空间和大小还指定了数据包的目标地址和端口。
DatagramSocker 类
java.net 包中的()DatagramSocket(int port)DatagramSocket(int port, InetAddress addr)
第一种构造方法创建DatagramSocket对象构造数据报套接字并将其绑定到本地主机任何可用的端口上。
第二种构造方法创建DatagramSocket对象创建数据报套接字并将其绑定到本地主机的指定端口上。
第三种构造方法创建DatagramSocket对象创建数据报套接字并将其绑定到指定的端口和指定的本地地址上。第三种构造函数适用于有多块网卡和多个I地址的情况。
UDP网络程序设计
1广播主机程序不断地向外播放信息
2接收广播程序。单机“开始接收”按钮系统开始接收主机播出的信息单机“停止接收”按钮系统停止接收广播主机播出的信息。