您的位置:首页 >今日更新 >

socket含义(socket是什么意思)

导读 什么是socket? 你经常听到人们谈论着“socket”,或许你还不知道它的确切含义。现在让我告诉你:它是使用标准Unix文件描述符(filedescr...

什么是socket? 你经常听到人们谈论着“socket”,或许你还不知道它的确切含义。

现在让我告诉你:它是使用标准Unix文件描述符(filedescriptor)和其它程序通讯的方式。

什么?你也许听到一些Unix高手(hacker)这样说过:“呀,Unix中的一切就是文件!”那个家伙也许正在说到一个事实:Unix程序在执行任何形式的I/O的时候,程序是在读或者写一个文件描述符。

一个文件描述符只是一个和打开的文件相关联的整数。

但是(注意后面的话),这个文件可能是一个网络连接,FIFO,管道,终端,磁盘上的文件或者什么其它的东西。

Unix中所有的东西就是文件!所以,你想和Internet上别的程序通讯的时候,你将要使用到文件描述符。

你必须理解刚才的话。

现在你脑海中或许冒出这样的念头:“那么我从哪里得到网络通讯的文件描述符呢?”,这个问题无论如何我都要回答:你利用系统调用socket(),它返回套接字描述符(socketdescriptor),然后你再通过它来进行send()和recv()调用。

“但是...”,你可能有很大的疑惑,“如果它是个文件描述符,那么为什么不用一般调用read()和write()来进行套接字通讯?”简单的答案是:“你可以使用!”。

详细的答案是:“你可以,但是使用send()和recv()让你更好的控制数据传输。

”存在这样一个情况:在我们的世界上,有很多种套接字。

有DARPAInternet地址(Internet套接字),本地节点的路径名(Unix套接字),CCITTX.25地址(你可以将X.25套接字完全忽略)。

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。
关键词: