网络程序设计全靠套接字接受和发送信息.尽管套接字这个词好象显得有些神秘,但其实这个概念极易理解.
大多数网络应用程序使用两个协议:传输控制协议(TCP)和用户数据包协议(UDP).他们都使用一个端口号以识别应用程序.端口号为主机上所运行之程序所用,这样就可以通过号码象名字一样来跟踪每个应用程序.端口号让操作系统更容易的知道有多少个应用程序在使用系统,以及哪些服务有效.
理论上,端口号可由每台主机上的管理员自由的分配.但为了更好的通信通常采用一些约定的协议.这些协议使能通过端口号识别一个系统向另一个系统所请求的服务的类型.基于如此理由,大多数系统维护一个包含端口号及它们所提供哪些服务的文件.
端口号被从1开始分配.通常端口号超出255的部分被本地主机保留为私有用途.1到255之间的号码被用于远程应用程序所请求的进程和网络服务.每个网络通信循环地进出主计算机的TCP应用层.它被两个所连接的号码唯一地识别.这两个号码合起来叫做套接字.组成套接字的这两个号码就是机器的IP地址和TCP软件所使用的端口号.
因为网络通讯至少包括两台机器,所以在发送和接收的机器上都存在一个套接字.由于每台机器的IP地址是唯一的,端口号在每台机器中也是唯一的,所以套接字在网络中应该是唯一的.这样的设置能使网络中的两个应用程序完全的基于套接字互相对话.
发送和接收的机器维护一个端口表,它列出了所有激活的端口号.两台机器都包括一个进程叫做绑定,这是每个任务的入口,不过在两台机器上恰恰相反.换句话说,如果一台机器的源端口号是23而目的端口号被设置成25,那么另一台机器的源端口号设置成25目的端口号设置成23.
大多数网络应用程序使用两个协议:传输控制协议(TCP)和用户数据包协议(UDP).他们都使用一个端口号以识别应用程序.端口号为主机上所运行之程序所用,这样就可以通过号码象名字一样来跟踪每个应用程序.端口号让操作系统更容易的知道有多少个应用程序在使用系统,以及哪些服务有效.
理论上,端口号可由每台主机上的管理员自由的分配.但为了更好的通信通常采用一些约定的协议.这些协议使能通过端口号识别一个系统向另一个系统所请求的服务的类型.基于如此理由,大多数系统维护一个包含端口号及它们所提供哪些服务的文件.
端口号被从1开始分配.通常端口号超出255的部分被本地主机保留为私有用途.1到255之间的号码被用于远程应用程序所请求的进程和网络服务.每个网络通信循环地进出主计算机的TCP应用层.它被两个所连接的号码唯一地识别.这两个号码合起来叫做套接字.组成套接字的这两个号码就是机器的IP地址和TCP软件所使用的端口号.
因为网络通讯至少包括两台机器,所以在发送和接收的机器上都存在一个套接字.由于每台机器的IP地址是唯一的,端口号在每台机器中也是唯一的,所以套接字在网络中应该是唯一的.这样的设置能使网络中的两个应用程序完全的基于套接字互相对话.
发送和接收的机器维护一个端口表,它列出了所有激活的端口号.两台机器都包括一个进程叫做绑定,这是每个任务的入口,不过在两台机器上恰恰相反.换句话说,如果一台机器的源端口号是23而目的端口号被设置成25,那么另一台机器的源端口号设置成25目的端口号设置成23.
本文详细解析了网络程序设计的核心组件——套接字,解释了TCP和UDP协议及其端口号的作用,说明了如何通过端口号识别应用程序和服务,并介绍了套接字在通信过程中的角色。
2361

被折叠的 条评论
为什么被折叠?



