当前位置: 首页 > news >正文

有公众号要不要做网站百度爱采购推广怎么入驻

有公众号要不要做网站,百度爱采购推广怎么入驻,成都五月花网页设计培训,j2ee做网站如何实现SCTP多归属链路对接 文章目录 ​​前言​​​​一、SCTP是什么#xff1f;​​​​二、lksctp​​​​三.sctp初始化​​​​四.绑定本端两个IP​​​​ 五.与对端建链​​​​六.设置主要路径​​​​七.设置是否启用心跳​​​​八.关于防火墙的配置​ ​总结​​ …如何实现SCTP多归属链路对接 文章目录 ​​前言​​​​一、SCTP是什么​​​​二、lksctp​​​​三.sctp初始化​​​​四.绑定本端两个IP​​​​ 五.与对端建链​​​​六.设置主要路径​​​​七.设置是否启用心跳​​​​八.关于防火墙的配置​ ​总结​​ 前言 最近完成了贝尔及华为软交换的SCTP 多归属链路对接。由于网络上对于多归属链路介绍的资料特别少。能看到的一些资料介绍但是说明的不详细大都是Demo性质不能完全商用。以客户端为例子概括如下首先绑定本端两个IP然后绑定交换的主用Path。然后将该主用的Path的IP设置为PrimaryPath。如果对端交换不支持BEAT心跳消息就不要发送该BEAT消息。 现在分享下我的具体的经验心得。 提示以下是本篇文章正文内容下面案例可供参考 一、SCTP是什么 SCTP (Stream Control Transmission Protocol)是一种传输协议在TCP/IP协议栈中所处的位置和TCP、UDP类似兼有TCP/UDP两者特征。 随着网络接入技术的多样化利用通信终端上多个网络接口实现并行多路径(Concurrent Multipath Transfer,CMT)成为研究的热点成为提高数据传输效率重要手段。基于流传输Stream Control Transmission ProtoclSCTP实现的CMT是这一领域研究的重点它通过扩展SCTP的多IP特性实现同一关联的多条端到端的路径上同时传输数据。 SIGTRAN信令通过SCTP建链承载信令。SCTP位于SCTP应用和无线分组网络(IP网)之间通过两个SCTP端点之间建立关联为两个SCTP用户提供可靠的消息传输业务。一个SCTP链路包换了一个或两个源/目的的地址。这些地址包含在每个端点的传输地址中。SCTP的关联结构如图1所示。如何实现SCTP多归属链路对接_开发语言 SCTP发送端使用一组传输地址作为消息的目的地会根据SCTP用户的指令和当前合法的目的地址集合的可达性状态为每个待发送的消息选择一个目的传输地址。在关联建立后需要为每个SCTP端点定义一条主路径用来在正常情况下发送SCTP消息。正常情况下SCTP只选择其中的一条可用路径作为主路径传输数据其他路径作为备用路径。当主路径失效时SCTP切换到其中的一条备用路径上继续传输。二、lksctp lksctp封装了linux内核sctp的接口函数。使用lksctp可以加速sctp的开发。代码中引入sctp.h编译时加入-lsctp进行动态库链接。 三.sctp初始化 from_sockfd socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP); setsockopt(from_sockfd,SOL_SOCKET,SO_SNDBUF,(char*)sndBufS,sndBufL); setsockopt(from_sockfd,SOL_SOCKET,SO_RCVBUF,(char*)rcvBufS,rcvBufL); setsockopt(from_sockfd, SOL_SOCKET, SO_REUSEADDR, reuse_address, sizeof(reuse_address); setsockopt(from_sockfd , IPPROTO_SCTP , SCTP_RTOINFO , timeout , opt_len); setsockopt(from_sockfd , IPPROTO_SCTP , SCTP_ASSOCINFO , assocmaxrxt , opt_len); setsockopt(from_sockfd, IPPROTO_SCTP, SCTP_INITMSG, initmsg, sizeof(initmsg); 四.绑定本端两个IP struct sockaddr_in cliaddr; int ret; bzero( (void *)cliaddr, sizeof(cliaddr) ); cliaddr.sin_family AF_INET; cliaddr.sin_addr.s_addr pFrom_addr[0].sin_addr.s_addr; cliaddr.sin_port pFrom_addr[0].sin_port; ret bind(fd, (struct sockaddr *)cliaddr, sizeof(cliaddr)); bzero( (void *)cliaddr, sizeof(cliaddr) ); cliaddr.sin_family AF_INET; cliaddr.sin_addr.s_addr pFrom_addr[1].sin_addr.s_addr; cliaddr.sin_port pFrom_addr[1].sin_port; ret sctp_bindx(fd, (struct sockaddr *)cliaddr, 1, SCTP_BINDX_ADD_ADDR); 五.与对端建链 设置对端两个IP if (sctp_peeraddr-addr_num) { addr (struct sockaddr *)(cli_addr offsetof(struct sctp_getaddrs, addrs)); for (index 0; index sctp_peeraddr-addr_num; index) { memset(dest, 0, sizeof(dest)); if (addr-sa_family AF_INET) { //Log::PrintLog(LOG_INFO, “[SCTP_GET_PEER_ADDRS] %s\n”, inet_ntoa(((struct sockaddr_in *)addr)-sin_addr)); Log::PrintLog(LOG_TRACE, “Sctp.cxx”, “sctp_peer_param()”, “[SCTP_GET_PEER_ADDRS %s]”,inet_ntoa(((struct sockaddr_in *)addr)-sin_addr)); memcpy(paddrparams.spp_address, addr, sizeof(struct sockaddr_in)); addr (struct sockaddr *) (((char *) addr) sizeof(struct sockaddr_in)); } ret setsockopt(cfd, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS, (const void *)paddrparams, sizeof(paddrparams)); if (ret 0) { //Log::PrintLog(LOG_INFO,“[set SCTP_PEER_ADDR_PARAMS error] %d:%s\n”, errno, strerror(errno)); Log::PrintLog(LOG_TRACE, “Sctp.cxx”, “sctp_peer_param()”, “[SCTP_PEER_ADDR_PARAMS err] %d %s”, errno, strerror(errno)); return; } Log::PrintLog(LOG_TRACE, “Sctp.cxx”, “sctp_peer_param()”, “set SCTP_PEER_ADDR_PARAMS]”); Log::PrintLog(LOG_TRACE, “Sctp.cxx”, “sctp_peer_param()”, “get SCTP_PEER_ADDR_PARAMS] hb %d, sackdelay %d, %s, %s, %s”, paddrparams.spp_hbinterval, paddrparams.spp_sackdelay, (paddrparams.spp_flags SPP_HB_ENABLE)?“HB_ENABLE”:“HB_DISABLE”, (paddrparams.spp_flags SPP_PMTUD_ENABLE)?“PMTUD_ENABLE”:“PMTUD_DISABLE”, (paddrparams.spp_flags SPP_SACKDELAY_ENABLE)?“SACKDELAY_ENABLE”:“SACKDELAY_DISABLE”); } } 与一个IP建链 sctp_connectx(from_sockfd, (struct sockaddr*)m_primsockaddr, 1,(sctp_assoc_t *)m_assoc[0] 切记与对端建联时初始时只和一个IP进行建链。 六.设置主要路径 setsockopt(from_sockfd,IPPROTO_SCTP,SCTP_PRIMARY_ADDR,m_primaddr,sizeof(m_primaddr) 七.设置是否启用心跳 struct sctp_paddrparams paddrparams; if (spp_hbinterval 0) { paddrparams.spp_flags | SPP_HB_DISABLE; } else { paddrparams.spp_flags | SPP_HB_ENABLE; paddrparams.spp_hbinterval spp_hbinterval; } ret setsockopt(cfd, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS, (const void *)paddrparams, sizeof(paddrparams)); 八.关于防火墙的配置 如果系统的网卡地址是通过防火墙映射的防火墙上有的没有SCTP一个选项那么配置TCP即可。但是防火墙一定要设置为透明模式。不然在调试多归属链路时会遇到各式各样的怪问题。 总结 SCTP偶链多归属对接网上资料特别少有的也是语焉不详。笔者根据最近数月的调试将经验分享处理希望对进行SIGTRAN信令开始的同行有帮助。
http://www.dnsts.com.cn/news/44469.html

相关文章:

  • 局域网怎么建设网站网站视频点播怎么做
  • 网站有什么网站里面的导航图标怎么做的
  • 绿色食品网站开发步骤中国冶金建设协会网站
  • py可以做网站吗网站开发打赏功能
  • 深圳门户网站建设案例上海百度百科
  • 网站空间服务器网站开发市场规模
  • 有高并发 高访问量网站开发品牌推广与传播
  • 网站开发使用的软件长沙门户网站建设
  • 贵阳网站如何推广永久免费云电脑
  • 青岛响应式网站设计wordpress收费版怎么激活
  • 自己建立网站多少钱wordpress 首页调用产品
  • 网站制作案例价格最新新闻热点事件20237月
  • 金诺网站建设做简单的网站多少钱
  • 门户网站开发一般多少钱建设网站用户名
  • 网站软件开发招聘郑州高端网站建设哪家好
  • 沈阳网站建设q479185700棒用什么软件可以做网站动态
  • 网站维护需要做什么项目推广平台有哪些
  • 网站关键词优化多少钱建立门户网站多少钱
  • 枣庄三合一网站开发公司南宁做网站找哪家公司
  • 网站后台管理系统 asp济南seo网站建设
  • 韩国唯美网站设计shopify做全品类网站
  • 自定义优定软件网站建设天津自动网站建设调试
  • 网站后台换图片做网站域名的成本
  • 编程做网站容易还是做软件企业网组建
  • 汶上做网站自己做的网站 jen
  • 百度网站建设平台wordpress主题 dux
  • 网站虚拟主持网站制作内容文案
  • 做后台财务系统网站软件大全
  • 网站开发h5页面商业空间设计平台
  • 烟台专业网站建设汉中市建设工程造价信息网