Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 所有服务器都使用套接字吗?_Sockets_Network Programming - Fatal编程技术网

Sockets 所有服务器都使用套接字吗?

Sockets 所有服务器都使用套接字吗?,sockets,network-programming,Sockets,Network Programming,我一直在阅读有关套接字的内容,特别是python中的套接字模块,我知道您可以使用它通过网络发送和接收数据 我的问题是,所有http服务器都使用(BSD)套接字吗?如果没有,web服务器如何连接到客户端?所有连接都通过插座吗 最后,什么是套接字?是的,所有服务器都使用套接字,但不一定是BSD套接字-BSD是套接字的一种特定实现,通常用于C兼容的编译器/框架中,但它不是唯一可用的套接字实现。大多数编程语言都提供某种套接字框架。重要的是HTTP在TCP上运行,套接字API提供对依赖于平台的TCP堆栈的

我一直在阅读有关套接字的内容,特别是python中的套接字模块,我知道您可以使用它通过网络发送和接收数据

我的问题是,所有http服务器都使用(BSD)套接字吗?如果没有,web服务器如何连接到客户端?所有连接都通过插座吗


最后,什么是套接字?

是的,所有服务器都使用套接字,但不一定是BSD套接字-BSD是套接字的一种特定实现,通常用于C兼容的编译器/框架中,但它不是唯一可用的套接字实现。大多数编程语言都提供某种套接字框架。重要的是HTTP在TCP上运行,套接字API提供对依赖于平台的TCP堆栈的访问。如果您指的是套接字API,则可能重复,则不是所有服务器都使用套接字。例如NET有一个TCPListener类,它是一个不同的API。@JamesKPolk仍然在内部使用套接字,它只是提供了自己的更高级别的包装器API,因此用户不必直接使用平台级套接字API。@JamesKPolk“我不知道Windows内部使用了什么”-一切都通过WinSock进行(除非您正在编写自己的自定义网络堆栈)。如果您看一下,它使用的是,它本身使用的是WinSock API-不,我不是。我做了将近20年的网络程序员,我知道其中的区别。是的,所有服务器都使用套接字,尽管不一定是BSD套接字-BSD是套接字的一种特殊实现,通常用于C兼容的编译器/框架,但它不是唯一可用的套接字实现。大多数编程语言支持提供某种套接字框架。重要的是HTTP在TCP上运行,套接字API提供对依赖于平台的TCP堆栈的访问。如果您指的是套接字API,则可能是、、的重复项,那么不是所有服务器都使用套接字。例如,..NET有一个TCPListener类,它是另一个API。@JamesKPolk,它是still在内部使用套接字,它只是提供自己的更高级别的包装器API,因此用户不必直接使用平台级别的套接字API。@JamesKPolk“我不知道Windows内部使用什么”-一切都通过WinSock进行(除非您编写自己的自定义网络堆栈).如果你看,它使用,它本身使用WinSock API。“你似乎把套接字等同于TCP”-不,我不是。我做了将近20年的网络程序员,我知道其中的区别。