标签: sctp

SCTP 在 OSX 上缺少包含文件?

我正在摆弄套接字,我想在我的 Mac 上使用 SCTP 协议进行测试。

但是,当我尝试包含该文件时,netinet/sctp.h编译器给出“文件未找到”错误。

所以我做了一些挖掘,果然,netinet/sctp.hMac OSX Lion 上没有包含文件。当我可以使用 建立套接字IPPROTO_SCTP并且构建良好时,为什么会这样?

所以,总结来说,我有两个问题:

  • Mac OSX 上 SCTP 的标头在哪里?
  • 如果没有正确的标头,我仍然可以设置 SCTP 服务器吗?如果是这样,怎么办?

sockets macos networking include sctp

5
推荐指数
1
解决办法
4114
查看次数

在 Ubuntu 22.04 上打开 SCTP 支持

我正在使用 Erlang 构建 SCTP 支持应用程序,并且偶然发现了一些可能与我的机器相关的问题(我在另一台机器上尝试了相同的代码,它工作得很好)。我使用的是 Ubuntu 22.04。当我尝试 gen_sctp:open(...) 时,它返回:“{error,eprotonosupport}”,经过一些研究后发现是“此域内不支持协议类型或指定的协议。”。我试过:

sudo apt-get install libsctp-dev lksctp-tools
sctp_darn -H 0 -P 2500 -l
sctp_darn -H 0 -P 2600 -h 127.0.0.1 -p 2500 -s
Run Code Online (Sandbox Code Playgroud)

而且看起来效果很好。后:

lynis audit system | grep sctp
Run Code Online (Sandbox Code Playgroud)

它返回:

* Determine if protocol 'sctp' is really needed on this system [NETW-3200]
Run Code Online (Sandbox Code Playgroud)

所以看来是可以启用的。我缺少什么?(端口为3868)

编辑:端口已打开。我尝试使用 ufw 和 iptables 来处理所有协议,并且仅针对 sctp。没用。

编辑2:所以在设置了2个VM的Ubuntu 20.04和Ubuntu 22.04之后,一切似乎都按预期工作。我想我的系统搞砸了。

erlang sctp ubuntu-22.04

5
推荐指数
0
解决办法
1639
查看次数

Linux SCTP实现状态

前段时间我在Linux上使用过SCTP,现在我想在新项目中再次使用它.问题是,lksctp似乎已经死了,自2009年以来没有更新(根据git).在这个时候SCTP草案中几乎没有重要的事情发生变化,所以lksctp现在已经过时了(例如API)

我试图找到这个协议的其他实现,但看起来,lksctp是唯一的.你有什么关于Linux上SCTP未来的信息吗?

linux sctp

4
推荐指数
1
解决办法
2564
查看次数

如何使用WebRTC在两个对等方之间协商数据通道?

WebRTC RTCPeerConnection接口有一个createDataChannel方法和一个ondatachannel事件处理程序.这些如何互动?如何创建可用于在两个对等体之间发送/接收数据的单个数据通道?

此外,RTCDataChannelInit构造函数有一个negotiated字段,默认情况下设置为false并表示它会导致频道在带内通知.如果设置为什么会发生什么true

sctp webrtc rtcdatachannel

4
推荐指数
1
解决办法
1147
查看次数

SCTP 中的多流与 TCP 中的打开多个连接有何不同?

SCTP 中的多个流如何驻留在单个关联中,而在 TCP 中我们必须涉及多个端口。对于 SCTP,多流是否也以任何方式涉及端口。RFC 6525表示只能有 65k+ 的流,这似乎等于可能的端口数。

tcp network-protocols sctp

3
推荐指数
1
解决办法
4321
查看次数

为什么我在Linux中编译sctp程序失败了?

首先我在Ubuntu 12.04上安装sctp
sudo apt-get install libsctp-dev lksctp-tools
然后在我的.c文件中,我包括:

#include < netinet/in.h >
#include < netinet/sctp.h >
#include < sys/socket.h >
#include < stdlib.h >
#include < unistd.h >
Run Code Online (Sandbox Code Playgroud)

howerver,当我用gcc编译时,结果是:

 undefined reference to `sctp_recvmsg'
 undefined reference to `sctp_get_no_strms'
 undefined reference to `sctp_sendmsg'
Run Code Online (Sandbox Code Playgroud)

怎么了?

linux undefined-reference sctp

3
推荐指数
1
解决办法
4526
查看次数

netinet/sctp.h:没有这样的文件或目录

我无法包含在我的任何文件中。编译的时候总是失败。我安装了 lksctp-tools 软件包。

我跑

     gcc -Wall -lsctp -o client admin.c deserializer.c input_parser.c main.c receive_response.c send_request.c serializer.c utils.c
Run Code Online (Sandbox Code Playgroud)

我得到:

main.c:2:10: fatal error: netinet/sctp.h: No such file or directory
#include <netinet/sctp.h>
      ^~~~~~~~~~~~~~~~
compilation terminated.
Run Code Online (Sandbox Code Playgroud)

我正在使用 Fedora,我不知道这是否会改变什么。然而该项目似乎在 CLion 上运行良好。

linux gcc sctp

3
推荐指数
1
解决办法
2万
查看次数

为什么在 SCTP 上使用 DTLS?

当已经有基于SCTP 的TLS时,为什么要在SCTP 上使用D TLS

这个想法有什么(好的)理由或优势吗?

ssl sctp dtls

2
推荐指数
1
解决办法
1303
查看次数