sctp_bindx函数:允许SCTP套接字捆绑一个特定地址子集

#include <netinet/sctp.h>

// 若成功返回0,出错返回-1
int sctp_bindx(int sockfd, const struct sockaddr *addrs, int addrcnt, int flags);

sctp_connectx函数:用于连接到一个多宿对端主机

#include <netinet/sctp.h>

// 若成功返回0,出错返回-1
int sctp_connectx(int sockfd, const struct *addr, int addrcnt);

sctp_getpaddrs函数:使用SCTP时它仅仅返回主目的地址,使用sctp_getpaddrs用于获取对端所有地址

#include <netinet/sctp.h>

// 若成功返回存放在addrs中的对端地址数,出错返回-1
int sctp_getpaddrs(int sockfd, sctp_assoc_t id, struct sockaddr **addrs);

sctp_freepaddrs函数:用于释放sctp_getpaddrs函数分配的资源

#include <netinet/sctp.h>

void sctp_freepaddrs(struct sockaddr *addrs);

sctp_getladdrs函数:获取属于某个关联的本地地址

#include <netinet/sctp.h>

// 若成功返回存放在addrs中的本端地址数,出错返回-1
int sctp_getladdrs(int sockfd, sctp_assoc_t id, struct sockaddr **addrs);

sctp_freeladdrs函数:用于释放sctp_getladdrs函数分配的资源

#include <netinet/sctp.h>

void sctp_freeladdrs(struct sockaddr *addrs);

sctp_sendmsg函数:SCTP通过让使用者提供更多参数,来简化使用伴随辅助数据的sendmsg函数

#include <netinet/sctp.h>

// 若成功返回所写的字节数,出错返回-1
sszie_t sctp_sendmsg(int sockfd, const void *msg, size_t msgsz,
const struct sockaddr *to, socklen_t tolen,
uint32_t ppid,
uint32_t flags, uint16_t stream,
uint32_t timetolive, uint32_t context);

sctp_recvmsg函数:SCTP通过让使用者提供更多参数,来简化使用伴随辅助数据的recvmsg函数

#include <netinet/sctp.h>

// 若成功返回所读的字节数,出错返回-1
sszie_t sctp_recvmsg(int sockfd, const void *msg, size_t msgsz,
struct sockaddr *from, socklen_t fromlen,
struct sctp_sndrcvinfo *sinfo,
int *msg_flags);

sctp_opt_info函数:用于那些无法为SCTP使用getsockopt函数的实现提供的

#include <netinet/sctp.h>

// 若成功返回0,出错返回-1
int sctp_opt_info(int sockfd, sctp_assoc_t assoc_id, int opt, void *arg, socklen_t *siz);

sctp_peeloff函数:从一个一到多式套接字中抽取一个关联,构成单独一个一到一式套接字

#include <netinet/sctp.h>

// 若成功返回一个新的套接字描述符,出错返回-1
int sctp_peeloff(int sockfd, sctp_assoc_t id);

基本SCTP套接字编程常用函数的更多相关文章

  1. 【UNIX网络编程(二)】基本TCP套接字编程函数

    基于TCP客户/server程序的套接字函数图例如以下: 运行网络I/O.一个进程必须做的第一件事就是调用socket函数.指定期望的通信协议类型. #include <sys/socket.h ...

  2. 探索UDP套接字编程

    UDP和TCP处于同一层网络模型中,也就是运输层,基于二者之上的应用有很多,常见的基于TCP的有HTTP.Telnet等,基于UDP有DNS.NFS.SNMP等.UDP是无连接,不可靠的数据协议服务, ...

  3. 基本套接字编程(1) -- tcp篇

    1. Socket简介 Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换. 几个定义: (1)IP地址:即依照TCP/IP协议分配给本地主机 ...

  4. liunx 套接字编程(Linux_C++)

    网络中的进程是如何通信的? 在网络中进程之间进行通信的时候,那么每个通信的进程必须知道它要和哪个计算机上的哪个进程通信.否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行 ...

  5. (转载)Linux 套接字编程中的 5 个隐患

    在 4.2 BSD UNIX® 操作系统中首次引入,Sockets API 现在是任何操作系统的标准特性.事实上,很难找到一种不支持 Sockets API 的现代语言.该 API 相当简单,但新的开 ...

  6. Linux套接字编程

    网络中的进程是如何通信的? 在网络中进程之间进行通信的时候,那么每个通信的进程必须知道它要和哪个计算机上的哪个进程通信.否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行 ...

  7. 【转】 探索UDP套接字编程

    UDP和TCP处于同一层网络模型中,也就是运输层,基于二者之上的应用有很多,常见的基于TCP的有HTTP.Telnet等,基于UDP有DNS.NFS.SNMP等.UDP是无连接,不可靠的数据协议服务, ...

  8. 套接字编程(VC_Win32)

    简介(源于维基) Berkeley套接字(也作BSD套接字应用程序接口)刚开始是4.2BSD Unix操作系统(于1983发布)的一套应用程序接口.然而,由于AT&T的专利保护着UNIX,所以 ...

  9. 【unix网络编程第三版】阅读笔记(三):基本套接字编程

    unp第三章主要介绍了基本套接字编程函数.主要有:socket(),bind(),connect(),accept(),listen()等. 本博文也直接进入正题,对这几个函数进行剖析和讲解. 1. ...

随机推荐

  1. java 罕见的依赖报错 jstat: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory

    java 都用了N长时间了,突然,意外地发现有一个依赖的so文件从来没找见过 # ldd /usr/bin/java linux-vdso.so.1 =>  (0x00007fffba76900 ...

  2. jquery滚动条插件slimScroll

    参数 width: 'auto', //可滚动区域宽度         height: '100%', //可滚动区域高度         size: '10px', //组件宽度         c ...

  3. FZU 2186 小明的迷宫 【压状dp】

    Problem Description 小明误入迷宫,塞翁失马焉知非福,原来在迷宫中还藏着一些财宝,小明想获得所有的财宝并离开迷宫.因为小明还是学生,还有家庭作业要做,所以他想尽快获得所有财宝并离开迷 ...

  4. BZOJ3611 [Heoi2014]大工程 【虚树】

    题目 国家有一个大工程,要给一个非常大的交通网络里建一些新的通道. 我们这个国家位置非常特殊,可以看成是一个单位边权的树,城市位于顶点上. 在 2 个国家 a,b 之间建一条新通道需要的代价为树上 a ...

  5. 刷题总结——宠物收养所(bzoj1208)

    题目: Description 最近,阿Q开了一间宠物收养所.收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物.每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明 ...

  6. 阐述struts2的执行流程。

    Struts 2框架本身大致可以分为3个部分:核心控制器FilterDispatcher.业务控制器Action和用户实现的企业业务逻辑组件. 核心控制器FilterDispatcher是Struts ...

  7. tarkjan求无向图割点模板

    #include<bits/stdc++.h> using namespace std; typedef long long ll; int n,m; ; ; struct node { ...

  8. uva 11995 判别数据类型

    Problem I I Can Guess the Data Structure! There is a bag-like data structure, supporting two operati ...

  9. Java面试题集(四)

    二. Java Web基础部分 在js中如何创建一个对象? var p1={name:”tom”,”age”:12}; function Person(name,age){ this.name=nam ...

  10. golang并发编程goroutine+channel(一)

    go语言的设计初衷除了在不影响程序性能的情况下减少复杂度,另一个目的是在当今互联网大量运算下,如何让程序的并发性能和代码可读性达到极致.go语言的并发关键词 "go" go dos ...