FinSH 命令的参数传递?

发布于 2020-12-08 15:40:08
void tcpclient(int argc, char **argv)
{
    int ret;
    char *recv_data;
    struct hostent *host;
    int sock, bytes_received;
    struct sockaddr_in server_addr;
    const char *url;
    int port;

    if (argc < 3)
    {
        rt_kprintf("Usage: tcpclient URL PORT\n");
        rt_kprintf("Like: tcpclient 192.168.12.44 5000\n");
        return ;
    }

    url = argv[1];
    port = strtoul(argv[2], 0, 10);

    /* 通过函数入口参数url获得host地址(如果是域名,会做域名解析) */
    host = gethostbyname(url);

    /* 分配用于存放接收数据的缓冲 */
    recv_data = rt_malloc(BUFSZ);
    if (recv_data == RT_NULL)
    {
        rt_kprintf("No memory\n");
        return;
    }
    ...
    ...
 }
 
FINSH_FUNCTION_EXPORT(tcpclient, a tcp client sample);
MSH_CMD_EXPORT(tcpclient, a tcp client sample);

请问使用FinSH命令怎么传递IP参数?
实际使用情况如下:

finsh >tcpclient()
Usage: tcpclient URL PORT
Like: tcpclient 192.168.12.44 5000

显示没有带IP地址。

然后带参数也试了,当总是提示不对。
请问应该怎么传递IP参数?

查看更多

关注者
0
被浏览
365
3 个回答
张世争
张世争 2020-12-09
tcpclient 192.168.12.44 5000
Iamkuba
Iamkuba 2020-12-09

还是不行。

james_s
james_s 2021-04-15

msh是命令行格式, finsh是c模式, 你的函数是命令行格式, 必须进入msh执行.

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览