你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 跟高手学编程
Java网络编程入门(十九)
 

从图19可以看出,EchoServer的控制台显示EchoClientIP地址为127.0.0.1,端口为1874127.0.0.1是本地主机的IP地址,表明EchoClientEchoServer在同一个主机上。EchoClient作为客户程序,它的端口是由操作系统随机产生的。每当客户程序创建一个Socket对象,操作系统就会为客户分配一个端口。假定在客户程序中先后创建了两Socket对象,这意味着客户与服务器之间同时建立了两个连接:

Socket socket1=new Socket(host,port);

Socket socket2=new Socket(host,port);

操作系统为客户的每个连接分配一个唯一的端口,参见图20

 


20  客户与服务器进程之间同时建立了两个连接

在客户进程中,Socket对象包含了本地以及对方服务器进程的地址和端口信息,在服务器进程中,Socket对象也包含了本地以及对方客户进程的地址和端口信息。客户进程允许建立多个连接,每个连接都有唯一的端口。在图20中,客户进程占用两个端口:18741875。在编写网络程序时,一般只需要显式地为服务器程序中的ServerSocket设置端口,而不必考虑客户程序所用的端口。

六、结语

计算机网络的任务就是传输数据。为了完成这一复杂的任务,国际标准化组织ISO提供了OSI参考模型,这种模型把互联网络分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每个层有明确的分工,并且在层与层之间,下层为上层提供服务。这种分层的思想简化了网络系统的设计过程。例如在设计应用层时,只需考虑如何创建满足用户实际需求的应用,在设计传输层时,只需考虑如何在两个主机之间传输数据,在设计网络层时,只需考虑如何在网络上找到一条发送数据的路径,即路由。

由于OSI参考模型过于庞大和复杂,使它难以投入到实际运用中。与OSI参考模型相似的TCP/IP参考模型吸取了网络分层的思想,但是对网络的层次做了简化,并且在网络各层(除了主机-网络层外)都提供了完善的协议,这些协议构成了TCP/IP协议集,简称TCP/IP协议。TCP/IP参考模型分为四个层:应用层、传输层、网络互联层和主机-网络层。在每一层都有相应的协议,IP协议和TCP协议是协议集中最核心的两个协议。

IP协议位于网络互联层,用IP地址来标识网络上的各个主机,IP协议把数据分为若干数据包,然后为这些数据包确定合适的路由。路由就是指把数据包从源主机发送到目标主机的路经。

TCP协议位于传输层,保证两个进程之间可靠地传输数据。每当两个进程之间进行通信,就会建立一个TCP连接,TCP协议用端口来标识TCP连接的两个端点。在传输层还有一个UDP协议,它与TCP协议的区别是,UDP不保证可靠地传输数据。

建立在TCP/IP协议基础上的网络程序一般都采用客户/服务器通信模式。服务器程序提供服务,客户程序请求获得服务。服务器程序一般昼夜运行,时刻等待客户的请求并及时做出响应。

Java网络程序致力于实现应用层。传输层向应用层提供了套接字Socket接口,Socket封装了下层的数据传输细节,应用层的程序通过Socket来建立与远程主机的连接以及进行数据传输。在Java中,有三种套接字类:java.net.Socketjava.net.ServerSocketDatagramSocket。其中SocketServerSocket类建立在TCP协议基础上;DatagramSocket类建立在UDP协议基础上。
  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089