首页 > 解决方案 > 如何为 SCTP 编写内核补丁以修复已使用的地址

问题描述

一个进程已经持有套接字,因此即使已经杀死端口 3868 上的现有进程,也无法通过 SCTP 连接端口 3868。错误是:“SCTP 应用程序显示“地址已在使用中””

内核版本:2.6.32-696.16.1

我想在内核中解决这个问题,而不是应用程序,因为我已经从应用程序团队更新:

“应用程序使用 java-nio,我们有通道和缓冲区的概念。SO_REUSEADDR 选项不适用于通道,即我们无法在创建套接字时添加给定选项。它可用于 java-nio 的 tcp 连接,而不是 sctp。”

我从其他帖子中了解到:

“最新版本的 Linux 支持 SCTP,使用 libSCTP 访问它,这是对 Linux Kernel SCTP 的用户空间访问。”

我如何/在哪里可以使用它?

java 进程启动 sctp 流量。我需要设置一个解决方法来设置地址重用(SO_REUSEADDR 套接字选项),因为它是 Linux 中 Redhat 6 版本解决此问题的建议。

有人可以在这里帮忙吗?

标签: javalinuxsocket.ioniosctp

解决方案


推荐阅读