查看: 3128|回复: 3

[MQX] 基于MQX的UDP通信,电脑和K60N512能ping通,但是数据接收不到。。。

[复制链接]

该用户从未签到

4

主题

21

帖子

0

新手上路

Rank: 1

积分
31
最后登录
1970-1-1
发表于 2013-2-1 14:44:42 | 显示全部楼层 |阅读模式
 
基于MQX的UDP通信,电脑和K60N512能ping通,但是数据接收不到。。。
                        
                         这是程序,大家帮忙看一下
             
            _mqx_int lw_telnet_server(void)
            {
               uint_32          listensock;//sock;
               sockaddr         addr;
               sockaddr         client_addr;
               uint_32          error, option;
            

               uchar            buffer[2000]; 
               int              count;
               uint_16          addrlen = sizeof(client_addr);
            
            

               /* Install device drivers for socket and telnet I/O */
               _io_socket_install("socket:");
               _io_telnet_install("telnet:");
            
            

               listensock = socket(AF_INET, SOCK_DGRAM, 0);
               return_error_if(listensock == RTCS_SOCKET_ERROR);
            
            

               option = TELNETDCFG_BUFFER_SIZE;   
               error = setsockopt(listensock, SOL_UDP, OPT_TBSIZE, &option, sizeof(option));
               return_error_if(error != RTCS_OK);
            
            

               option = TELNETDCFG_BUFFER_SIZE;   
               error = setsockopt(listensock, SOL_UDP, OPT_RBSIZE, &option, sizeof(option));
               return_error_if(error != RTCS_OK);
            
            

               option = TELENETDCFG_TIMEWAIT_TIMEOUT;   
               error = setsockopt(listensock, SOL_UDP, OPT_TIMEWAIT_TIMEOUT, &option, sizeof(option));
               return_error_if(error != RTCS_OK);
            

            
            

               #if RTCSCFG_ENABLE_IP4  
                ((sockaddr_in*)(&addr))->sin_family      = AF_INET;
                ((sockaddr_in*)(&addr))->sin_port        = IPPORT_TELNET;
                ((sockaddr_in*)(&addr))->sin_addr.s_addr = INADDR_ANY;
             
                #elif RTCSCFG_ENABLE_IP6
                    printf("\nThis application don't support IPv6 only.\n");
                    _task_block();
                #endif
            

               error = bind(listensock, &addr, sizeof(addr));
               return_error_if(error != RTCS_OK);
            

               while(1)
               {
                        sendto(listensock, "Hello,world!\n", 15, 0, (struct sockaddr *) &client_addr,addrlen);
                          
                        count = recvfrom(listensock, buffer, 500, 0, (struct sockaddr *) &client_addr,&addrlen);
                        if (count == RTCS_ERROR)
                        {
                                  printf("\nrecvfrom() failed with error %lx",RTCS_geterror(listensock));
                         } 
                        else 
                        {
                        printf("\nReceived %ld bytes of data.", count);
                                  sendto(listensock, "Hello,world!\n", 15, 0, (struct sockaddr *) &client_addr,addrlen);
                        }
                         RTCS_time_delay(100);
               }
            
            
            
            
 
我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

11

主题

288

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
610
最后登录
1970-1-1
发表于 2013-2-1 16:59:08 | 显示全部楼层

RE: 基于MQX的UDP通信,电脑和K60N512能ping通,但是数据接收不到。。。

非常抱歉不能帮助楼主解决问题,没有用过UDS,知道的同学帮忙解决一下。
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

21

帖子

0

新手上路

Rank: 1

积分
31
最后登录
1970-1-1
 楼主| 发表于 2013-2-2 10:53:49 | 显示全部楼层

回复: 基于MQX的UDP通信,电脑和K60N512能ping通,但是数据接收不到。。。

 已经搞定了   没有初始化  
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

8

帖子

0

注册会员

Rank: 2

积分
84
最后登录
2021-5-18
发表于 2013-4-18 19:55:41 | 显示全部楼层

回复: 基于MQX的UDP通信,电脑和K60N512能ping通,但是数据接收不到。。。

 楼主有用Telnet做类似shell打印输出吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-21 11:26 , Processed in 0.107195 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表