我有一个客户端 - 服务器程序,在服务器端:Linux的插座值
sockListen = socket(PF_INET, SOCK_STREAM, 0);
socketListen
似乎总是等于3.为什么? 0,1或2怎么样? Linux中套接字的值范围是多少?
我有一个客户端 - 服务器程序,在服务器端:Linux的插座值
sockListen = socket(PF_INET, SOCK_STREAM, 0);
socketListen
似乎总是等于3.为什么? 0,1或2怎么样? Linux中套接字的值范围是多少?
0,1和2分别是stdin,stdout和stderr。 3是下一个可用的。如果你创建了另外一个,或者打开了一个文件等,它会得到4.等等等等。
但是你不应该依赖这一点。编写应用程序将整数视为不透明对象。只将它们与值进行比较,看它们是否为负值(表示错误)。
返回值是一个文件描述符。文件描述符0,1和2已经打开。 (分别是stdin,stdout和stderr)
我可能是完全错误的,但我认为Linux提供整型文件句柄,0通常是STDIN,1是STDOUT,2是STDERR。所以你给出的第一个句柄就是3.需要一个真正知道的人来澄清。 – 2009-11-19 08:37:39