Sign in
Sign up
Explore
Enterprise
Education
Search
Help
Terms of use
About Us
Explore
Enterprise
Education
Gitee Premium
Gitee AI
I know
View Details
Sign in
Sign up
Fetch the repository succeeded.
Open Source
>
Development Lib
>
Network Development Package
&&
Donate
Please sign in before you donate.
Cancel
Sign in
Scan WeChat QR to Pay
Cancel
Complete
Prompt
Switch to Alipay.
OK
Cancel
Watch
Unwatch
Watching
Releases Only
Ignoring
17
Star
156
Fork
53
onps协议栈
/
Open-NPStack
Code
Issues
0
Pull Requests
0
Wiki
Insights
Pipelines
Service
Gitee Pages
Quality Analysis
Jenkins for Gitee
Tencent CloudBase
Tencent Cloud Serverless
悬镜安全
Aliyun SAE
Codeblitz
Don’t show this again
Releases
v1.0.0.221017
6221825
2022-10-17 18:16
Compare
onps栈v1.0.0版
Neo-T
onps是一个开源且完全自主开发的国产网络协议栈,适用于资源受限的单片机系统,支持ethernet/ppp/tcp/ip协议族,同时提供sntp、dns、ping等网络工具,支持以太网环境下dhcp动态ip地址申请,也支持动态及静态路由表。协议栈还封装实现了一个伯克利套接字(Berkeley sockets)层,提供如下通用接口函数: - socket:创建一个socket,目前仅支持udp和tcp两种类型 - close:关闭一个socket,释放当前占用的协议栈资源 - connect:与目标tcp服务器建立连接(阻塞型)或绑定一个固定的udp服务器地址 - connect_nb:与目标tcp服务器建立连接(非阻塞型)、 - is_tcp_connected:获取当前tcp链路的连接状态 - send:数据发送函数,tcp链路下为阻塞型 - send_nb:数据发送函数,非阻塞型 - is_tcp_send_ok:数据是否已成功送达tcp链路的对端(收到tcp ack报文) - sendto:udp数据发送函数,发送数据到指定目标地址 - recv:数据接收函数,udp/tcp链路通用 - recvfrom:数据接收函数,用于udp链路,接收数据的同时函数会返回数据源的地址信息 - socket_set_rcv_timeout:设定recv()函数接收等待的时长,单位:秒 - bind:绑定一个固定端口、地址 - listen:tcp服务器进入监听状态 - accept:接受一个到达的tcp连接请求 - tcpsrv_recv_poll:tcp服务器专用函数,等待任意一个或多个tcp客户端数据到达信号 - socket_get_last_error:获取socket最近一次发生的错误信息 - socket_get_last_error_code:获取socket最近一次发生的错误编码 为了方便用户使用、简化用户编码,协议栈重新声明并定义了socket接口函数,简化了传统BSD socket编程需要的一些繁琐操作,将一些不必要的操作细节改为底层实现,比如select/poll模型、阻塞及非阻塞读写操作等。不过不要担心,这些接口函数的调用方式及功能没有改变,你完全可以根据以往编程经验及习惯使用这些函数。 协议栈不支持前后台模式,其架构设计建立在时下流行的rtos(RT-Thread、ucosii/iii等)之上。协议栈移植的主要工作也就自然是针对不同rtos编写相关os适配层功能函数了。协议栈提供了rt-thread和ucosii下的移植样例工程。rt-thread样例工程的获取地址如下: [https://gitee.com/Neo-T/onps-rtthread/releases/tag/v1.0.0](https://gitee.com/Neo-T/onps-rtthread/releases/tag/v1.0.0) ucos-ii的获取地址如下: [https://gitee.com/Neo-T/onps-ucosii/releases/tag/v1.0.0](https://gitee.com/Neo-T/onps-ucosii/releases/tag/v1.0.0) 详细的协议栈移植及使用相关的内容请下载附件“[onps网络协议栈移植及使用说明v1.0.7z](https://gitee.com/Neo-T/open-npstack/releases/download/v1.0.0.221017/onps%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE%E6%A0%88%E7%A7%BB%E6%A4%8D%E5%8F%8A%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8Ev1.0.7z)”。
Last committed message:
Version adjusted
Download
To prevent Robot download, Please enter the captcha to continue
Cancel
Download
C/C++
1
https://gitee.com/Neo-T/open-npstack.git
git@gitee.com:Neo-T/open-npstack.git
Neo-T
open-npstack
Open-NPStack
Going to Help Center
Search
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
Comment
Repository Report
Back to the top
Login prompt
This operation requires login to the code cloud account. Please log in before operating.
Go to login
No account. Register