socket原理

socket实质上提供了进程间通信的端点。

在网间网内部,每一个socket用一个半相关描述:  协议,地址,端口  


        在Internet上有很多这样的主机,这些主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务 :例如,在一台主机上安装一个Ftp服务软件,则这个Ftp服务软件即可打开一个Socket(其默认端口号是21);再安装一个Web服务软件,则这个Web服务软件即可打开另一个Socket(其默认端口号是80)。

        这样,在另一台主机或同一台主机上执行ftp://202.120.127.201,FTP客户端将通过21端口来呼叫主机上由FTP 服务软件提供的Socket,与其建立连接并对话。而在netscape中输入"http://202.120.127.201"时,将通过80端口来呼叫主机上由Web服务软件提供的Socket,与其建 立连接并对话。

        Socket正如其英文原意那样,象一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户端将插头插到不同编号的插座,就可以得到不同的服务。


       应用程序通常通过"套接字"向网络发出请求或者应答网络请求。Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端 而产生不同级别。
















猜你喜欢

转载自wzt7576.iteye.com/blog/941435