gpt4 book ai didi

iphone - 什么是套接字、管道和设备?

转载 作者:行者123 更新时间:2023-12-03 20:26:23 25 4
gpt4 key购买 nike

我正在研究 Low-Level File Management Programming Topics来自苹果。在 NSFileHandle 部分,他们说:

The scope of NSFileHandle is not limited to files. It provides the only Foundation object that can read and write to communications channels such as those implemented by sockets, pipes, and devices.

听起来很棒!所以我可以通过 NSFileManager 与套接字通信,然后套接字将该数据传输到网络服务器,我可以通过远程方式直接在文件中乱搞?

有人可以举一些易于理解的例子,我可以用它做什么,

  • 与“Socket”通信时?
  • 与“管道”通信时?
  • 与“设备”通信时?

注意:我对套接字、管道、设备一无所知。我确信“设备”并不是指 iPhone 本身。我对网络事物不熟悉。但我想学这些东西!!也许你也可以简短解释一下这些东西是什么?

最佳答案

套接字是用于通过网络进行通信的 Assets 。当应用程序想要进行任何网络通信时,它需要连接到目标主机。为此,使用socket。大多数情况下使用 TCP/IP 网络协议(protocol)。这要求您指定要连接的 IP 地址或主机名,以及所谓的 TCP 端口 - 这是目标主机上运行的服务的唯一标识,例如 80 用于 HTTP。当连接建立时,您以与文件句柄类似的方式使用套接字,您只需向其中写入一些数据或从中读取数据。这就是网络通常的工作方式。

Pipe 是来自 Unix 的工具 - 请记住,Mac 和 iPhone 都是基于 Unix 系统的。它是(有点神秘,但仍然流行)两个进程之间的通信方式。从编程的角度来看,它类似于文件句柄——当两个进程通过管道连接时,它们可以对管道进行写入和读取,以实现彼此之间的通信。

设备是设备的抽象。想象一下您想要直接访问您的硬盘驱动器。在 Unix 系统上完成的方式是打开一些特殊文件,它实际上不是文件,而是作为“设备”在文件系统上创建的。检查 Mac 上的目录“/dev/”,它包含可用的设备。对于硬盘驱动器,您可以找到“/dev/disk0”作为其第一个分区“/dev/disk0s1”。这些“设备”代表内核中加载的设备驱动程序。内核扩展(例如驱动程序)可以提供此类设备来实现与用户空间程序的通信。

关于iphone - 什么是套接字、管道和设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4003770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com