C++网络编程(函数原型参考)

socket()

头文件:
#include <sys/types.h>
#include <sys/socket.h>

语法:
int socket(int domine,int type,int protocol);

参数:
int domin:即协议域,如AF_INET(IPV4)、AF_INET6(IPV6)等等
int type:是套接口类型,主要SOCK_STREAM(TCP)、SOCK_DGRAM(UDP)
int protocol:指定协议。常用的协议有,IPPROTO_TCP、IPPTOTO_UDP等,通常情况系设为0。

返回值:
成功:返回套接字描述符(套接字的索引)
失败:-1

sockaddr_in 结构体

头文件:
#include<netinet/in.h>

原型:
struct sockaddr_in
{
sa_family_t sin_family; //地址族
uint16_t sin_port; //16位TCP/UDP端口号
struct in_addr sin_addr; //32位IP地址
char sin_zero[8]; //不使用
};

struct in_addr
{
In_addr_t s_addr; //32位IPv4地址
};

bind()

头文件:
#include<sys/socket.h>

语法:
int bind(int sockfd, const struct sockaddr, socklen_t addrlen);

参数:
int sockfd:套接字的索引

const struct sockaddr:一个指向特定协议的地址结构的指针

socklen_t addrlen:该地址结构的长度

listen()

头文件:
#include<sys/socket.h>

语法:
int listen(int sockfd, int backlog);

参数:
int sockfd:套接字的索引

int backlog:连接队列内核的上限

返回值:
成功:0
失败:-1

accept()

头文件:
<sys/types.h>
<sys/socket.h>

语法:
int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

参数:
int sockfd:套接字的索引

struct sockaddr *addr:指向结构体sockaddr的指针

socklen_t *addrlen:addr参数指向的内存空间的长度

返回值:
成功:返回套接字描述符(套接字的索引)
失败:-1

read()/write():

头文件:
#include<unistd.h>

语法:
ssize_t read(int fd, void *buf, size_t nbytes);
ssize_t write(int fd, const void *buf, size_t nbytes);

参数:
int fd: 要写入的文件的描述符
void *buf: 为要读取的数据的缓冲区地址()
const void *buf 为要写入数据的缓冲区地址
size_t nbytes 为要写入的数据的字节数

connect()

头文件:
#include<sys/socket.h>

语法:
int connect(int sockfd, const struct sockaddr , socklen_t addrlen);

参数:
int sockfd:套接字的索引

const struct sockaddr:一个指向特定协议的地址结构的指针

socklen_t addrlen:该地址结构的长度

返回值:
成功:0
失败:-1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值