JAVA教程第八讲Java网络编程8.1

文章作者 100test 发表时间 2007:03:10 18:42:00
来源 100Test.Com百考试题网


8.1 网络编程的基本概念,TCP/IP协议简介

8.1.1 网络基础知识

  计算机网络形式多样,内容繁杂。网络上的计算机要互相通信,必须遵循一定的协议。目前使用最广泛的网络协议是Internet上所使用的TCP/IP协议

  网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。
 
  目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。

8.1.2网络基本概念

  IP地址:标识计算机等网络设备的网络地址,由四个8位的二进制数组成,中间以小数点分隔。
    如:166.111.136.3 , 166.111.52.80

  主机名(hostname):网络地址的助记名,按照域名进行分级管理。
    如:www.tsinghua.edu.cn
      www.fanso.com
  
  端口号(port number):网络通信时同一机器上的不同进程的标识。
    如:80,21,23,25,其中1~1024为系统保留的端口号
  
  服务类型(service):网络的各种服务。
    http, telnet, ftp, smtp
 
  我们可以用以下的一幅图来描述这里我们所提到的几个概念:



  在Internet上IP地址和主机名是一一对应的,通过域名解析可以由主机名得到机器的IP,由于机器名更接近自然语言,容易记忆,所以使用比IP地址广泛,但是对机器而言只有IP地址才是有效的标识符。

  通常一台主机上总是有很多个进程需要网络资源进行网络通讯。网络通讯的对象准确的讲不是主机,而应该是主机中运行的进程。这时候光有主机名或IP地址来标识这么多个进程显然是不够的。端口号就是为了在一台主机上提供更多的网络资源而采取得一种手段,也是TCP层提供的一种机制。只有通过主机名或IP地址和端口号的组合才能唯一的确定网络通讯中的对象:进程。

服务类型是在TCP层上面的应用层的概念。基于TCP/IP协议可以构建出各种复杂的应用,服务类型是那些已经被标准化了的应用,一般都是网络服务器(软件)。读者可以编写自己的基于网络的服务器,但都不能被称作标准的服务类型。



相关文章


从简单程序看java运行错误
JAVA中的日期时间操作
JAVA教程第八讲Java网络编程8.3
JAVA教程第八讲Java网络编程8.2
JAVA教程第八讲Java网络编程8.1
JAVA教程第七讲Swing用户界面设计7.2
JAVA教程第七讲Swing用户界面设计7.1
JAVA教程第六讲Java的线程和JavaApplet6.3
JAVA教程第六讲Java的线程和JavaApplet6.2
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛