Linux: listen() & socket() & bind() & accept() & connect() & recvfrom()&sendto() & recv()&send()详解

以下函数的头文件:

#incldue<netinet/in.h>
#include<arpa/inet.h>
#include<sys/socket.h>
#include<sys/types>

1.socket()

功能:创建socket文件描述符
int socket(int domain,int type,int protocol)
参数说明:
 (1)domain(family):表示套接字的通信域,不同的取值决定了socket的地址类型,其一般取值如下:
      AF_INET:IPV4因特网域
      AF_INET6IPV6因特网域
      AF_UNIX:UNIXAF_ROUTE:路由套接字

 (2)type:是socket的类型,常用如下:
     SOCK_STREAM:有序、可靠、双向的面向连接--->字节流套接字,例如TCP
     SOCK_DGRAM:长度固定的、无连接的不可靠的--->数据报套接字,例如UDP
     SOCK_RAW:原始套接字

  (3)protocol:指定协议,取值如下:
     0:表示选择type类型对应的默认协议
     IPPROROTO_TCP:TCP传输协议
     IPPROTO_UDP:UDP传输协议
     IPPRPTO_SCTP:SCTP传输协议
     IPPROTO_TIPC:TIPC传输协议
  ps:此选项一般都是设为0,让操作系统根据第二个参数的类型去自动匹配协议

返回值:

成功:返回一个整数,是socket的文件描述符
失败:返回-1

ps:此函数可用于TCP和UDP通信中的服务器与客户端

2.bind()

调用socket函数创建套接字描述符时,该套接字描述符时存储在它的协议蔟空间中的,是没有具体的地址的,要使它一个地址相关联,可以调用bind函数使其与地址相关联


功能:绑定端口号(一般都是服务器进行绑定,例如TCP/UDP的服务器)

int bind</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值