ZBLOG

socket() 详解

socket()是一个系统调用函数,用于创建一个新的套接字。它在网络编程中非常常见,用于建立网络连接。

函数签名:

#include <sys/types.h>
#include <sys/socket.h>

int socket(int domain, int type, int protocol);

参数解释:

  • domain:指定协议族或地址族,常见的包括 AF_INET(IPv4)、AF_INET6(IPv6)、AF_UNIX(UNIX域)等。
  • type:指定套接字类型,常见的包括 SOCK_STREAM(流式套接字,使用TCP)和 SOCK_DGRAM(数据报套接字,使用UDP)等。
  • protocol:指定具体的传输协议,通常设置为0以自动选择与给定域和类型匹配的默认协议。

返回值:

  • 成功时返回新创建的套接字描述符(非负整数),失败时返回-1,并设置相应的错误码。

示例用法:

int sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd == -1) {
    perror("socket");
    exit(1);
}

这段代码会创建一个基于IPv4和流式传输的套接字。如果成功,则返回一个新的套接字描述符,否则打印错误信息并退出程序。

注意,在使用完套接字后需要及时关闭它以释放资源:

close(sockfd);

此外,在进行网络编程时还需调用其他函数(如bind()listen()accept()等)来完成套接字的绑定、监听和接受连接等操作。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=4713

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?