c++ - 如何将消息发送到接收期间找到的SCTP关联?

标签 c++ c networking sctp

我有一个套接字,可以从多个客户端接收数据。

   sockfd = socket(...); 
   bind(sockfd, ...); 
   listen(sockfd, ...); 
   while (true) { 
    nread = sctp_rcvmsg(sockfd, ..., buf, ..., &info); 
    assoc_id = sinfo.sinfo_assoc_id; 
    stream = sinfo.sinfo_stream; 
    handle_message(assoc_id, stream, buf, nread); 
   }

我获得每个连接的关联ID。我的问题是我该如何在关联ID上而不是在客户端地址上发送响应消息(例如sctp_sendmsg没有associaiton ID参数)

最佳答案

http://linux.die.net/man/3/sctp_peeloff

int sctp_peeloff(int sd, sctp_assoc_t assoc_id);
sctp_peeloff将一对多样式套接字assoc_id上的现有关联sd分支到单独的套接字中。新的套接字是一对一样式的套接字。

例如,当应用程序希望让零星的消息发送者/接收者保留在原始的一对多样式套接字下,但将那些携带大量数据流量的关联分支到它们自己的单独套接字描述符中时,这是特别理想的。

关于c++ - 如何将消息发送到接收期间找到的SCTP关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5717318/

相关文章:

java - 关于 Java 和 C++ 中的内存管理

android - 在特定网络上重定向 OkHttp3 请求

networking - 为 Kubernetes NodePort 服务支持 SSL/TLS

c++ - C++调试断言失败

c++ - 在 C++ 中初始化一个外部变量大小的数组

c - 在 (C) 中远程登录时出现段错误 11

c - 为什么函数 strcat 不起作用?

c - strtok函数c解释

c++ - boost::asio 如何确定要连接到哪个端口?

C++ 类方法继承