Advertisement

Linux c 网络socket编程

阅读量:

网络编程,必然涉及套接字;那么,套接字究竟是什么呢?

在Linux系统中,所有的I/O操作均通过读写文件描述符来实现。文件描述符是一个与已打开文件相关的整数,该文件不仅包括磁盘上实际存储的文件,还涵盖了网络连接、命名管道以及终端等。套接口则是系统进程与文件描述符进行通信的一种方式。

当前最为常见的套接口类型包括字节流套接口(基于TCP)和数据报套接口(基于UDP),除此之外还有原始套接口(原始套接口能够提供TCP和UDP套接口所不具备的功能,例如构建自定义的TCP或UDP数据包)等。本文主要介绍字节流套接口与数据报套接口。

要掌握网络编程,必然需要借助网络库的相关函数。在Linux系统中,可以通过执行"man 函数名"命令获取函数的帮助信息。不过考虑到部分用户对英文理解可能存在困难,以下将列举一些常用的网络函数及其使用方法供参考:

1、socket函数:为了实现网络输入输出操作,进程首先需要调用socket函数以获取一个文件描述符。
#include <sys/socket.h>
int socket(int family, int type, int protocol);
返回值:成功时返回非负整数描述符;失败时返回-1。

第一个参数用于指定协议簇,目前支持五种协议簇类型,其中最常用的是AF_INET(IPv4协议)和AF_INET6(IPv6协议);

第二个参数用于

全部评论 (0)

还没有任何评论哟~