函数 main
实现了一个简单的单线程TCP echo服务器。服务器监听指定的端口(这里是4242端口),接收来自客户端的连接,然后回显(echo)客户端发送的所有数据。这个过程包含以下关键步骤:
socket()
函数创建一个TCP套接字,用于监听来自客户端的连接请求。INADDR_ANY
,表示服务器将接受指向所有本地接口的连接。listen()
函数,使得服务器套接字进入监听状态,等待来自客户端的连接请求。accept()
函数等待并接受来自客户端的连接请求。一旦接受到一个连接,就为该连接创建一个新的套接字。特别注意的是,此代码既可以在普通的POSIX兼容操作系统上运行(如Linux),也可以在Zephyr RTOS上运行,这得益于条件编译指令(#ifndef __ZEPHYR__
)用于区分不同的环境所需的头文件和API调用。
本例程需要以下硬件,
保障串口正常工作后,需要确认网络是否连接好
west build -b e2000q_demo ./ -DOVERLAY_CONFIG=prj.conf
,编译命令, 使用west工具构建当前目录下的Zephyr项目,指定目标板为e2000q_demo,并使用prj.conf配置文件覆盖默认配置 ,最终生成的执行文件将会保存在./build/zephyr/zephyr.elfwest build -t clean
, 清除缓存 ,使用west工具的clean目标清理Zephyr构建系统可能生成的任何其他临时文件或缓存west build -b e2000q_demo ./ -DOVERLAY_CONFIG=prj.conf
sudo service tftpd-hpa restart
setenv ipaddr 192.168.4.20
setenv serverip 192.168.4.50
setenv gatewayip 192.168.4.1
tftpboot 0x90100000 zephyr.elf
bootelf -p 0x90100000
telnet 192.168.4.7 4242
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )