⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 udpecho.c

📁 uC/IP Release Notes These release notes for uC/IP are divided into the following sections
💻 C
字号:
////////////////////////////////////////////////////////////////////////////////
// udpecho.c :
//
#include <stdio.h>
#include "netconf.h"
#include "net.h"
#include "netbuf.h"
#include "netudp.h"

#include "udpecho.h"
#include "main.h"


////////////////////////////////////////////////////////////////////////////////
/*
extern int udpOpen(void);
extern int udpClose(int ud);
extern int udpConnect(u_int ud, const struct sockaddr_in *remoteAddr, u_char tos);
extern int udpListen(u_int ud, int backLog);
extern int udpBind(u_int ud, struct sockaddr_in *peerAddr);
extern int udpRead(u_int ud, void *buf, long len);
extern int udpWrite(u_int ud, const void *buf, long len);
extern long udpRecvFrom(int ud, void  *buf, long len, struct sockaddr_in *from);
extern long udpSendTo(int ud, const void  *buf, long len, const struct sockaddr_in *to);
 */

void UdpEchoTask(void* dummy)
{
    int bytes;
    int socket;
    struct sockaddr_in sockAddr;
    char buffer[512];

    TRACE("UdpEchoTask Started\n");

    sockAddr.ipAddr = INADDR_ANY;
    sockAddr.sin_port = htons(7);
    sockAddr.sin_family = AF_INET;

    socket = udpOpen();
    udpBind(socket, &sockAddr);
    do {
        bytes = udpRead(socket, &buffer, sizeof(buffer));
        if (bytes > 0) {
            TRACE("UdpEchoTask Received Data From Socket !\n");
            udpWrite(socket, buffer, bytes);
        }
        delay(50);

    } while (repeat);

    udpClose(socket);

    TRACE("UdpEchoTask Exiting\n");
}

////////////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -