首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用C语言进行DCCP套接字编程

用C语言进行DCCP套接字编程
EN

Stack Overflow用户
提问于 2013-06-09 18:02:00
回答 1查看 1.7K关注 0票数 1

我曾尝试在c中为DCCP协议创建套接字,它符合out错误,但当我运行程序时,我得到错误"sendto: Broken“。

我已经包含了necesseray标头定义。

#define SOCK_DCCP 6 #define IPPROTO_DCCP 33 #define SOL_DCCP 269

在我想要创建套接字的函数中

代码语言:javascript
复制
int dccp_sockfd,port_num,addr_len,yes = 1;

struct sockaddr_in PMU_addr,their_addr;

struct Lower_Layer_Details *temp_pmu = (struct Lower_Layer_Details *) temp;

unsigned char *dccp_BUF,*ptr,length[2];

代码语言:javascript
复制
unsigned int flen;

uint16_t cal_crc,frame_crc;

port_num = temp_pmu->port;

struct Lower_Layer_Details *t ;


if ((dccp_sockfd = socket(AF_INET, SOCK_DCCP, IPPROTO_DCCP)) == -1) {
    perror("socket");
    exit(1);
}

if (setsockopt(dccp_sockfd,SOL_DCCP,SO_REUSEADDR,&yes,sizeof(int)) == -1) {
    perror("setsockopt");
    exit(1); 

dccp_BUF = malloc(MAXBUFLEN* sizeof(unsigned char));

代码语言:javascript
复制
addr_len = sizeof(struct sockaddr); 
int n,bytes_read;
unsigned char *cmdframe = malloc(19);
cmdframe[18] = '\0';
create_command_frame(1,temp_pmu->pmuid,(char *)cmdframe);


if ((n = sendto(dccp_sockfd,cmdframe, 18, 0, (struct sockaddr *)&PMU_addr,sizeof(PMU_addr)) == -1)) {

    perror("sendto"); 

} else {
EN

回答 1

Stack Overflow用户

发布于 2013-06-10 14:44:16

你会调用connect()或者bind()listen()吗?当前的代码片段没有显示这些内容。如果缺少这些,请尝试添加它们。为了使我们能够更好地帮助您,请将问题设为SSCCE

如果您的平台是Linux,请阅读http://www.linuxfoundation.org/collaborate/workgroups/networking/dccp,特别是"C应用程序编程接口到DCCP“部分。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17008495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档