OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4116|回复: 0

原子哥,为什么我用的F4开发板的LWIP带操作系统的例程写Socke的UDP通讯不了,写Socket的TCP通讯可以通讯,是配置问题吗?

[复制链接]

10

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2018-11-25
在线时间
11 小时
发表于 2020-5-21 23:27:25 | 显示全部楼层 |阅读模式
1金钱
原子哥,为什么我用的F4开发板的LWIP带操作系统的例程写Socke的UDP通讯时接收和发送不了数据,写Socket的TCP_客户端可以通讯可以收发数据,是配置文件问题还是我写的代码少东西有问题?
#include <lwip/sockets.h>
#include <lwip/err.h>
#include <lwip/sys.h>

#define        PORT                        50000

static RAW_U32 udp_msg[100];

static void udp_server_thread(void *p_arg)
{
        struct sockaddr_in server_addr;
        int sock_fd;                                /* server socked */
        int err;
        int count = 0;
       
       
        sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
        if (sock_fd == -1) {
                Uart_Printf("failed to create sock_fd!\n");
                RAW_ASSERT(0);
        }
       
        raw_memset(&server_addr, 0, sizeof(server_addr));
        server_addr.sin_family = AF_INET;               
        //server_addr.sin_addr.s_addr = INADDR_ANY;
        server_addr.sin_addr.s_addr = inet_addr("192.168.0.80");
        server_addr.sin_port = htons(PORT);
       
        err = bind(sock_fd, (struct sockaddr *)&server_addr, sizeof(server_addr));
        if (err == -1) {
                RAW_ASSERT(0);
        }
       
        while (1) {
                raw_memset(udp_msg, 0, sizeof(udp_msg));
                err = recv(sock_fd, (RAW_U8 *)udp_msg, sizeof(udp_msg), 0);
               
                Uart_Printf("receive msg: %s", udp_msg);
               
                count++;
        }
}
————————————————
版权声明:本文为CSDN博主「程序员到工程师」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/noworries/java/article/details/8857605

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-5-29 11:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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