Linux套接字编程(C/C++)

创建套接字

1. 创建socket
int socket(int af, int type, int protocol);

功能介绍:
创建一个套接字。
参数说明:

  • af为地址簇(Address Family),即IP地址类型
    • AF_INET:表示IPv4地址
    • AF_INTT6:表示IPv6地址
  • type为数据传输方式。
    • SOCK_STREAM:面向连接的数据传输方式
    • SOCK_DGRAM:表示无连接的数据传输方式
  • protocol为传输协议
    • IPPROTO_TCP:表示TCP。
    • IPPROTO_UDP:表示UDP。

返回值说明:
Linux中一切皆文件,socket()函数完成正确操作之后将返回一个大于0的通信文件描述符,当返回值小于0时,操作错误。

2.bind()函数和connect()函数

功能介绍:

  • 服务器端要用bind()函数将套接字和特定的IP地址和端口号绑定在一起。
  • 客户端要用connect()函数与服务器的套接字(IP和端口号)建立连接。
int bind(int sock, struct sockaddr *addr, sorcklen_t addrlen);
int connect(int sock, struct sockaddr *serv_addr, socklen_t addrlen);

参数说明:

  • sock:由socket()调用返回的文件描述符
  • addr:是一个指向sockaddr的指针,由于struct sockaddr数据结构类型不方便设置,所以通常会通过对truct sockaddr_in进行数值结构设置,然后进行强制类型转换成struct sockaddr类型的数据,结构体具体内容见本节下文。
  • addrlen:是sockaddr结构的长度。

返回值说明:
返回0时,为正确绑定;返回-1时,为绑定失败。

</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值