套接字编程

标签 sockets network-programming

这更像是一个一般性的快速问题。 但在 C#、Python、C、C++......等中

所有基本的“套接字”网络编程本质上都是相同的吗?就像它们都使用 Berkley 套接字(我认为这就是它们的名称)一样,还是每种语言都有自己的套接字处理方式。

谢谢

最佳答案

套接字依赖于平台,而不依赖于语言。因此,Linux 单独使用 BSD 套接字,Windows 提供 BSD 套接字(几乎全部使用)和 M$ 风格的套接字(称为 WSA),不知道其他套接字。这一切都归结为在幕后发现的东西 - 更确切地说是在操作系统的内核级别。那里的套接字实现将提供第一组 API,以便内核/用户空间可以访问它们 - 通常通过共享对象/动态链接库,从而“本地”支持 c/c++ 语言。所有其他语言都依赖于操作系统 native 为 C/C++ 提供的那些 SO/DLL 文件的语言特定绑定(bind)。

HTH

关于套接字编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4553351/

相关文章:

c - 为什么不能将 C 标准 I/O 与套接字一起使用

c++ - 使用 Boost::Asio 进行双向 TCP 通信的程序结构

java - 如何测量刚收到的 UDP 数据包大小?

C++ 序列化 - 使用从 char * 到结构的 reinterpret_cast

java - 监听多个套接字 (InputStreamReader)

无法在连接到服务器的多个客户端之间发送信息

重置 Wi-Fi 连接后,Android 套接字行为异常

c - 绑定(bind): invalid argument when trying to bind AF_INET6 to INADDR_ANY (to localhost)

c# - 由于未连接Socket而导致System.Net.SocketException

c - UDP校验和计算