首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UEFI网络edk2简单示例

UEFI网络edk2简单示例
EN

Stack Overflow用户
提问于 2022-07-12 22:23:03
回答 1查看 206关注 0票数 1

我正在寻找在UEFI应用程序中使用edk2实现某种网络通信的最简单/最简单的方法。我不在乎所使用的是哪种协议,但它不会是UDP。

我读过类似的问题,自己尝试过,但失败了,我的问题是:-A良好的测试环境(目前使用VM,运行UEFI2.5,不确定是否足够/是一种好方法) -What协议/解决方案是否良好?

我需要完成的是;

  1. uefi应用程序加载,向服务器发送包含"Hello“的数据包( IP可以知道,不需要从url解析IP)
  2. 服务器向客户端发送"Hello“,UEFI应用程序将打印答复。这是非常简单的,但这是压倒性的,那里的信息是有限的,从我看到的。

所有的帮助/洞察力/信息都是有用的。

EN

回答 1

Stack Overflow用户

发布于 2022-07-13 06:16:23

UEFI规范中有一个完整的HTTP程序(第29.6.2.1章)。在堆栈过流上也有一个完整的UDP示例,如果您想使用TCP,只需在发送数据之前连接到服务器。方法和字段名在TCP和UDP协议中几乎相同。

所有较高级别的网络协议都以相同的方式工作。

  1. 创建子实例,搜索ServiceBinding协议并调用CreateChild
  2. 从子实例句柄获取协议
  3. 配置子实例(XYZ->配置(.))
  4. 仅TCP :创建连接令牌
  5. 只使用TCP :调用XYZ->Connect(.)等待它完成
  6. 创建传输/请求令牌
  7. 调用XYZ->发送(.)/XYZ->请求(.)等待它完成
  8. 创建接收/响应令牌
  9. 呼叫XYZ->接收(.)/XYZ->响应(.)等待它完成
  10. 如果需要发送/接收更多数据,请返回到6或8
  11. 仅TCP :创建一个关闭令牌
  12. TCP只:调用XYZ->Close(.)等待它完成
  13. 销毁子实例(ServiceBinding->DestroyChild(.))

你可以叫XYZ->Poll(.)当您正在等待网络操作完成时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72958983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档