查看: 2064|回复: 1

[评测分享] 【米尔-芯驰D9车规级开发板 测评】+ tcp server测试

[复制链接]
  • TA的每日心情
    开心
    6 天前
  • 签到天数: 1077 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2023-9-20 22:52:31 | 显示全部楼层 |阅读模式
    分享到:
    这篇来测试下在开发板上搭建tcp server测试。

    一、测试程序


    使用socket的方式来测试。
    1. <font size="3">#include <stdio.h>
    2. #include <stdlib.h>
    3. #include <unistd.h>
    4. #include <string.h>
    5. #include <sys/types.h>
    6. #include <sys/socket.h>
    7. #include <arpa/inet.h>
    8. #include <netinet/in.h>

    9. #define SERVER_NET_PORT 8866

    10. int main(void)
    11. {
    12.     struct sockaddr_in server_addr = {0};
    13.     struct sockaddr_in client_addr = {0};
    14.     char ip_str[20] = {0};
    15.     int sockfd, connfd;
    16.     int addrlen = sizeof(client_addr);
    17.     char recvbuf[512];
    18.     int ret;

    19.     sockfd = socket(AF_INET, SOCK_STREAM, 0);
    20.     if (0 > sockfd)
    21.     {
    22.         perror("socket error");
    23.         exit(EXIT_FAILURE);
    24.     }

    25.     server_addr.sin_family = AF_INET;
    26.     server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
    27.     server_addr.sin_port = htons(SERVER_NET_PORT);
    28.     ret = bind(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr));
    29.     if (0 > ret)
    30.     {
    31.         perror("bind error");
    32.         close(sockfd);
    33.         exit(EXIT_FAILURE);
    34.     }

    35.     ret = listen(sockfd, 50);
    36.     if (0 > ret)
    37.     {
    38.         perror("listen error");
    39.         close(sockfd);
    40.         exit(EXIT_FAILURE);
    41.     }

    42.     connfd = accept(sockfd, (struct sockaddr *)&client_addr, &addrlen);
    43.     if (0 > connfd)
    44.     {
    45.         perror("accept error");
    46.         close(sockfd);
    47.         exit(EXIT_FAILURE);
    48.     }
    49.     printf("client connect...\n");
    50.     inet_ntop(AF_INET, &client_addr.sin_addr.s_addr, ip_str, sizeof(ip_str));
    51.     printf("client ip addr: %s\n", ip_str);
    52.     printf("client port: %d\n", client_addr.sin_port);

    53.     for ( ; ; )
    54.     {
    55.         memset(recvbuf, 0x0, sizeof(recvbuf));
    56.         ret = recv(connfd, recvbuf, sizeof(recvbuf), 0);
    57.         if(0 >= ret)
    58.         {
    59.             perror("recv error");
    60.             close(connfd);
    61.             break;
    62.         }
    63.         printf("from client: %s\n", recvbuf);
    64.         if (0 == strncmp("exit", recvbuf, 4))
    65.         {
    66.             printf("server exit...\n");
    67.             close(connfd);
    68.             break;
    69.         }
    70.     }

    71.     close(sockfd);
    72.     exit(EXIT_SUCCESS);
    73. }
    74. </font>
    复制代码


    二、编译程序


    使用开发板的编译工具来编译测试程序
    2.1、编译命令
    root@ubuntu:/opt/work/test/net# aarch64-linux-gnu-gcc socket_server.c -o socket_server



    2.2、看编译后的文件
    0920001.png


    2.3、复制文件到开发板
    执行命令:
    root@ubuntu:/opt/work/test/net# scp socket_server root@192.168.1.46:/opt/
    0920003.png


    三、运行程序


    在开发板上执行命令:root@myd-jd9x:/opt# ./socket_server
    TCP客户端与服务器之间数据传输
    0920004.png
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-8-5 17:13
  • 签到天数: 333 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2023-9-28 09:22:38 | 显示全部楼层
    必须支持一下,跟着大佬一起学习进步。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-12-24 20:55 , Processed in 0.130389 second(s), 20 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.