我正在编写客户端服务器应用程序。在这我将不得不从客户端传输大小为1024字节的数据包到服务器。如果数据包大小更大,它必须分成两个数据包。服务器必须了解接收到的数据包是新数据包还是继续使用旧数据包。然后它应该包含协议的版本号。该协议可以被多个应用程序使用,因此数据包还应该包含应用程序标识符以确定哪个应用程序。数据包还应包含crc信息以检查数据包中的错误。任何人都可以建议我为上述协议设计客户端和服务器之间的通信。 任何人都可以建议我一些教程,这些教程将解释数据如何被加密并从客户端发送,然后在服务器中接收和解码。应用程序的协议设计
0
A
回答
0
协议是相互理解交换的东西。协议的细节定义了应用程序的可靠性和关键任务。
实现简单协议的方式只是将帧大小嵌入到数据包的开头。此外,可以将数据作为大量文件进行异步接收。将它们分开并添加到处理队列中很简单。如果您拥有固定的尺寸,而不是分享尺寸,只需阅读每个1024帧并将其视为您的帧。一个简单的计数器将有助于这个权利?
0
除了基本信息之外,还需要引入某种序列编号方案,表示连续编号(第一个包的编号为0),以便服务器可以理解新的数据包流和以前的数据之间的差异流,并且如果出现无序传送,也将它们重新排序。
如果您正在设计一个真实世界的应用程序,现在您不必这么做,因为您只需选择TCP/IP进行可靠的事务处理,并且如果您检查它的详细信息,它将处理所有您正在说话的情况关于。但是,如果你必须设计一个更小的协议,我建议创建一个协议的小状态图来检查所有路径是否导致某些最终状态(协议状态机),否则很容易错过某些情况。
相关问题
- 1. USB协议实现的程序设计
- 2. 上recvfrom的混乱()在应用程序级协议设计
- 3. 如何反向设计应用程序的协议?
- 4. 协议设计
- 5. Android应用程序的设计建议
- 6. EXT JS应用程序设计建议
- 7. Java EE应用程序设计建议
- 8. 应用程序设计建议
- 9. Delphi应用程序和(Zimbra)CalDAV协议
- 10. http协议,网络,Web应用程序
- 11. 如何实现应用程序协议
- 12. 协议设计小类
- 13. 客户端服务器应用程序设计模式和协议
- 14. 为客户服务器应用程序实现和设计一个协议
- 15. 如何在OpenSSL中设置TLS应用程序数据协议
- 16. 使用ssh协议从远程计算机启动java应用程序
- 17. 建议协议在asp.net(C#)中开发聊天应用程序
- 18. 网络协议的设计模式?
- 19. .NET如何调试应用程序协议处理程序?
- 20. 基于HTA的Crud应用程序的设计建议
- 21. 需要我的android应用程序的设计建议
- 22. iOS编程建议请求REF sqlite/iOS应用程序设计
- 23. 协助计划应用程序
- 24. 战略建议:升级Web应用程序的设计
- 25. 可可:关于设计可可应用程序的建议
- 26. 单页网页应用程序需要的设计建议
- 27. 建议我精心设计的开源Web应用程序.net
- 28. 设计iPhone应用程序的建议音量是多少?
- 29. 簿记应用程序设计所需的建议
- 30. 需要建议在设计SMS的应用程序为Android
这是功课吗?你可以使用已经实现的(和很好的)协议,因为你不会重新发明轮子。 – Blender
你是从零开始构建这个项目作为一个excercise/class项目吗?如果没有,那么你应该使用像TCP/IP这样的现成协议。 –
客户端有大量的消息要发送到服务器。单个消息可以大于1024字节,这将在服务器上接收。因此,如果客户端的m/c速度很快,以前的消息大小大于1024字节,则下一条消息与前一条消息混合在一起。所以我所做的是在每条消息给客户端延迟之后,服务器有时间接收当前消息的所有字节。这不是正确的方法,所以我想设计一些标准的方法来做到这一点。我想要一个基于帧的协议,其中每个帧的长度小于等于1024。 –