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

URL中,常见的应用层协议还包括ftpfile等,比如:

ftp://www.javathinker.org/image/

file:///C:\atomcat\webapps\javathinker\admin.jsp

以上file协议用于访问本地计算机上的文件,使用这种协议的URL以“file:///”开头。

3TCP协议以及端口

IP协议在发送数据包时,途中会遇到各种事情,例如可能路由器突然崩溃,使包丢失。再例如一个包可能沿低速链路移动,而另一个包可能沿高速链路移动而超过前面的包,最后使得包的顺序搞乱。

TCP协议使两台主机上的进程顺利通信,不必担心包丢失或包顺序搞乱。TCP跟踪包顺序,并且在包顺序搞乱时按正确顺序重组包。如果包丢失,则TCP会请求源主机重发包。

如图14所示,两台主机上都会运行许多进程。当主机A上的进程A1向主机B上的进程B1发送数据时,IP协议根据主机BIP地址,把进程A1发送的数据送达主机B。接下来TCP需要决定把数据发送到主机B中的哪个进程。TCP采用端口来区分进程。端口不是物理设备,而是用于标识进程的逻辑地址,更确切地说,是用于标识TCP连接的端点的逻辑地址。当两个进程进行一次通信,就意味着建立了一个TCP连接,TCP连接的两个端点用端口来标识。在图15中,进程A1与进程B1之间建立了一个TCP连接,进程B1的端口为80,因此进程B1的地址为:主机B:80。进程A1的端口为1000,因此进程A1的地址为:主机A :1000。每个进程有了惟一的地址,TCP就能保证把数据顺利送达到特定的进程。

 


14  TCP采用端口来区分进程间的通信

    端口号的范围为065535,其中01023的端口号一般固定分配给一些服务。比如21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输)服务,80端口分配给Http(超级文本传输)服务,135端口分配给RPC(远程过程调用)服务等。
  从102465535的端口号供用户自定义的服务使用。比如假定EchoServer服务使用8000端口。当EchoServer程序运行时,就会占用8000端口,当程序运行结束,就会释放所占用的端口。
  
客户进程的端口一般由所在主机的操作系统动态分配,当客户进程要求与一个服务器进程进行TCP连接,操作系统为客户进程随机地分配一个还未被占用的端口,当客户进程与服务器进程断开连接,这个端口就被释放。

  推荐精品文章

·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