问题标签 [sctp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
991 浏览

sockets - sctp_bindx(Solaris sctp 库)总是返回“无效参数”

我正在 Solaris OS 中编写 SCTP 测试程序,并使用 Solaris 本机 SCTP 堆栈。该程序喜欢这样:

运行程序时,总是返回错误:“无效参数”。我用gdb查了一下,发现addr结构是对的。
因为Solaris不是开源的,只能用gdb查看汇编代码,发现sctp_bindx调用了setsockopt函数,setsockopt函数返回错误。调用 setsockopt 喜欢这样:

我检查了所有参数,发现它们是正确的。所以我无法弄清楚这个问题的原因。有人可以帮我吗?提前致谢!

0 投票
1 回答
719 浏览

javascript - Socket.io/Node.js & SCTP?

我正在开发一个 Web 应用程序,它将使用 Web 套接字为用户动态更新网站。这个想法是动态传输后端引擎中的变化。为此,我想使用 Node.js 服务器作为 Web 浏览器和后端引擎之间的链接。不幸的是,Node.js/JavaScript 不支持 SCTP 套接字,这是后端引擎正在使用的。你能想出什么办法来解决这个问题吗?如果我不能使用 Socket.io 并且必须部署我自己的 Javascript 插件和 Java websocket 服务器,那将是一种耻辱。

0 投票
2 回答
1927 浏览

network-programming - Setsockopt() 返回错误号 10042

所以我开始使用 SCTP 并编写了 SCTP 服务器应用程序的基础知识(我打算对其进行修改以使其成为点对点应用程序)。代码不完整,但我编译并运行它以测试套接字选项,第一个 setsockopt 返回错误 10042(不支持协议)。我已经确定这是第一次调用 setsockopt() 返回错误。所以这里是不完整的代码:

0 投票
3 回答
1389 浏览

c++ - C++ 网络套接字、SCTP 和数据包大小

我目前正在开发一个使用面向连接的 SCTP 的服务器来为少数客户端提供服务。在用一个简单的实现完成第一个原型之后,我现在正在分析应用程序以进行优化。事实证明,CPU 时间的两个主要消耗者之一是网络部分。

关于我实现的应用层协议的效率有两个问题:

1) 数据包大小

目前,我使用的最大数据包大小为 64 字节。您可以找到许多讨论数据包大小的帖子太大,但它们会不会太小?由于 SCTP 允许我一次读取一个数据包 - 类似于 UPD - 同时保证按顺序交付 - 类似于 TCP - 这显着简化了实现。但是,如果我理解正确,每次发送数据包都会花费一个系统调用。系统调用的数量是否会对性能产生重大影响?我可以通过以更大的数据包(即 1024 - 8192 字节)的形式发送消息来减少大量 CPU 周期吗?

2)读取和写入缓冲区

我目前正在使用 memcpy 将数据移入和移出应用程序级网络缓冲区。我发现了许多关于什么是更有效的、memcpy 或正常分配的相互矛盾的帖子。我想知道在这种情况下,一种方法是否会比另一种方法快得多:

选项1

选项 2

第一个对我来说似乎更干净,但我发现很多帖子表明第二个可能快得多。

当然欢迎任何形式的反馈。

0 投票
1 回答
348 浏览

java - 用于 SCTP 实现的 OpenJDK 或 Sun JDK

我正在为需要 SCTP 连接的项目设置 Ubuntu VM。我很困惑为此安装哪个 Java7 - OpenJDK7 或 SunJDK 7?

哪一个会得到最多的支持?我将在互联网上寻找 SCTP API 和用法。

0 投票
2 回答
1034 浏览

webrtc - WebRTC中SCTP的心跳间隔是多久?

WebRTC 数据通道使用 SCTP。查看从 接收的位图,chrome://webrtc-internals定期发送少量数据。这是 SCTP 心跳吗?

0 投票
1 回答
1577 浏览

c++ - 使用 OpenSSL 在 SCTP 上的 DTLS

我想编写一个使用 OpenSSL 的应用程序来利用它对 SCTP 的 DTLS 支持。我正在使用 Ubuntu 13.10。

我已经下载并成功编译了 LKSCTP 1.0.15 和 OpenSSL 1.0.1e。我用 ./config sctp 编译了 OpenSSL。

我可以编译http://sctp.fh-muenster.de/上提供的示例,但是当我尝试执行其中任何一个时,它们在下面的断言中失败。错误信息是:

setsockopt 遇到的错误是“Permission denied”。这是函数 BIO_new_dgram_sctp 中失败的代码(来自 bss_dgram.c)

0 投票
2 回答
6622 浏览

webrtc - SCTP 和 webrtc

我看到 SCTP 将从 Chrome 31 开始用于数据通道,根据这个 google 组线程,官方基于 RTP 的通道有时会在 2014 年 2 月被弃用:

https://groups.google.com/forum/#!topic/discuss-webrtc/y2A97iCByTU

这是否也意味着 webrtc 音频和视频通道最终也将通过 SCTP 传输(如果尚未在工作中)?

RTP 如何适应整个 SCTP 传输工作?这是否意味着 SRTP 数据包将流经 SCTP 数据通道?或者也许只是负载将通过 SCTP 传输协议发送。

如果我正在阅读有关 SCTP 的信息,它结合了最好的 TCP 和 UDP 协议;但默认不包括加密;所以请记住,流过的流量仍应加密。

任何其他信息都会有所帮助。谢谢!

0 投票
0 回答
1164 浏览

java - 尝试使用 junit 测试在 SCTP 场景中运行 jmeter 时出现 Java IllegalAccessError 异常

我有一个 junit 测试,它打开一个到 linux 机器的套接字并运行 jmeter 场景。当我调用 jmeter(通过测试)从 junit 测试运行 SCTP 场景时,我得到了 IllegalAccessError 异常。但是,当我通过 linux 命令行手动运行完全相同的命令时,jmeter 运行正常并成功打开 SCTP 连接。

我的感觉是,当测试运行时,jmeter 在 SCTP.jar 上并不“知道”。我已经尝试了所有类型的东西,但注意到作品。

这是一个例外:

0 投票
2 回答
2445 浏览

linux - TCP 和 SCTP 上的 Linux 内核

我想研究SCTP的传输层协议。是否可以在 linux 内核中用 sctp 替换 tcp 并且应用程序可以通过 sctp 透明地发送消息?谷歌搜索后,我没有得到关于这个主题的一些信息。但是,我认为这是可能的,因为 sctp 是 tcp 的超集。谁能给我一些指导或材料?

在 UTC+8 7:​​57P.M 添加 谢谢大家。我很抱歉说错了。我的意思是我想修改linux内核,使过去通过TCP传输的应用程序能够透明地使用SCTP,而不需要对应用程序本身进行任何更改。所以,关键是给内核打补丁。但是,我不知道该怎么办。