基本SCTP套接字编程常用函数
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套接字编程常用函数的更多相关文章
- 【UNIX网络编程(二)】基本TCP套接字编程函数
基于TCP客户/server程序的套接字函数图例如以下: 运行网络I/O.一个进程必须做的第一件事就是调用socket函数.指定期望的通信协议类型. #include <sys/socket.h ...
- 探索UDP套接字编程
UDP和TCP处于同一层网络模型中,也就是运输层,基于二者之上的应用有很多,常见的基于TCP的有HTTP.Telnet等,基于UDP有DNS.NFS.SNMP等.UDP是无连接,不可靠的数据协议服务, ...
- 基本套接字编程(1) -- tcp篇
1. Socket简介 Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换. 几个定义: (1)IP地址:即依照TCP/IP协议分配给本地主机 ...
- liunx 套接字编程(Linux_C++)
网络中的进程是如何通信的? 在网络中进程之间进行通信的时候,那么每个通信的进程必须知道它要和哪个计算机上的哪个进程通信.否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行 ...
- (转载)Linux 套接字编程中的 5 个隐患
在 4.2 BSD UNIX® 操作系统中首次引入,Sockets API 现在是任何操作系统的标准特性.事实上,很难找到一种不支持 Sockets API 的现代语言.该 API 相当简单,但新的开 ...
- Linux套接字编程
网络中的进程是如何通信的? 在网络中进程之间进行通信的时候,那么每个通信的进程必须知道它要和哪个计算机上的哪个进程通信.否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行 ...
- 【转】 探索UDP套接字编程
UDP和TCP处于同一层网络模型中,也就是运输层,基于二者之上的应用有很多,常见的基于TCP的有HTTP.Telnet等,基于UDP有DNS.NFS.SNMP等.UDP是无连接,不可靠的数据协议服务, ...
- 套接字编程(VC_Win32)
简介(源于维基) Berkeley套接字(也作BSD套接字应用程序接口)刚开始是4.2BSD Unix操作系统(于1983发布)的一套应用程序接口.然而,由于AT&T的专利保护着UNIX,所以 ...
- 【unix网络编程第三版】阅读笔记(三):基本套接字编程
unp第三章主要介绍了基本套接字编程函数.主要有:socket(),bind(),connect(),accept(),listen()等. 本博文也直接进入正题,对这几个函数进行剖析和讲解. 1. ...
随机推荐
- appium+python自动化-adb shell按键操作(input keyevent)
前言 接着上篇介绍input里面的按键操作keyevent事件,发送手机上常用的一些按键操作 keyevent 1.keyevent事件有一张对应的表,可以直接发送对应的数字,也可以方式字符串,如下两 ...
- Python第三方库之openpyxl(4)
Python第三方库之openpyxl(4) 2D柱状图 在柱状图中,值被绘制成水平条或竖列. 垂直.水平和堆叠柱状图. 注意:以下设置影响不同的图表类型 1.在垂直和水平条形图之间切换,分别设置为c ...
- 一款基于jQuery的QQ表情插件
我们在QQ聊天或者发表评论.微博时,会有一个允许加入表情的功能,点击表情按钮,会弹出一系列表情小图片,选中某个表情图片即可发表的丰富的含表情的内容.今天和大家分享一款基于jQuery的QQ表情插件,您 ...
- php在字符串中替换多个字符
php替换多个字符串str_replace函数 echo str_replace(array("m","i"),array("n",&quo ...
- Leetcode 354.俄罗斯套娃信封问题
俄罗斯套娃信封问题 给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h) 出现.当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样. 请计 ...
- Result实现类
package org.apache.struts2.dispatcher; import com.opensymphony.xwork2.ActionInvocation; import com.o ...
- mysql的row_number()实现
在mysql中没有row_number()方法,这里模拟row_number()实现: 如有表 studentid name age class1 张1 15 12 张2 15 ...
- 【bzoj1878】[SDOI2009]HH的项链 - 树状数组 - 离线处理
[SDOI2009]HH的项链 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 4834 Solved: 2384[Submit][Status][Dis ...
- BZOJ 2973 入门OJ4798 石头游戏
矩阵递推 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring ...
- ElasticSearch API 之 GET
GET API是Elasticsearch中常用的操作,一般用于验证文档是否存在:或者执行CURD中的文档查询.与检索不同的是,GET查询是实时查询,可以实时查询到索引结果.而检索则是需要经过处理才能 ...