“Socket C”是一个术语,有时用来指用C编程语言编写Socket代码的过程,有时用来指保存某些Socket函数实现的实际库文件。实际的Socket C库文件包含不同函数和宏的实现,这些函数和宏提供了语言库提供的基本套接字功能,尽管s...
“Socket C”是一个术语,有时用来指用C编程语言编写Socket代码的过程,有时用来指保存某些Socket函数实现的实际库文件。实际的Socket C库文件包含不同函数和宏的实现,这些函数和宏提供了语言库提供的基本套接字功能,尽管socket C文件依赖于操作系统,并且可能无法在某些系统上实现。编写socket C代码需要创建一个具有标准输入和输出协议(称为socket)的接口,并使用它来发送或接收信息,通常通过网络或通过一个硬件。C语言的目的是便于移植,但套接字编程依赖于一些低级的系统特定功能,因此有时用C编写使用套接字但又能保持跨系统可移植性的程序是困难的socket C支持的套接字类型。第一种是数据报,第二种是流,第三种是原始访问。数据报是一种以小包形式发送信息的套接字类型,称为数据包。每个数据包都是从一个源发送的,其中包含它在网络上寻找的目标套接字的信息。虽然数据报可以是通过套接字进行通信的有效方法,通常用于发送电子邮件,它也是有损的,因为发送的数据包不能保证到达目的套接字。流套接字与另一个套接字建立连接,信息在套接字之间直接传递。当在socket C编程中使用时,这种类型的套接字确保发送的所有数据都在另一端接收然而,一个复杂的情况是,套接字有时可以使用阻塞,这意味着套接字将停止进程的执行,直到接收到信息或关闭套接字为止,虽然在大多数情况下,使用线程或分叉进程可以解决这个问题。原始套接字访问是作为一种在几乎硬件级别上与承载套接字的任何设备进行实际连接的一种方式。套接字通常以各种形式用于Internet通信。允许联网的硬件和驱动程序由于操作系统的差异很大,因此很难找到支持所有可能组合的套接字C库文件。因此,套接字C文件本身以及套接字头文件通常包含一长串条件编译指令,因此它将在不同的系统上进行不同的编译
-
发表于 2020-08-06 14:41
- 阅读 ( 719 )
- 分类:电脑网络