C中数据包的读/写处理示例

发布时间:2020-09-16 发布网站:编程之家
编程之家收集整理的这篇文章主要介绍了C中数据包的读/写处理示例编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对C有点新,但我已完成了我的作业(一些教程,书籍等),我需要编写一个简单的服务器来处理来自客户端的请求并与数据库进行交互.我已经阅读了Beej的网络编程指南,但是我有点不确定如何拼凑并处理来回发送的数据的不同部分.

例如,假设客户端正在发送一些服务器将放在多个字段中的信息.如何将要发送的数据拼凑在一起然后在服务器端重新打包?

谢谢,

埃里克

解决方法

如果我理解正确,你会问,“服务器如何理解客户端发送的信息”?

如果这就是您所要求的,答案很简单:提前双方同意每个使用的数据结构都是兼容的.即你决定提前通信协议.

因此,例如,如果我有一个客户端 – 服务器应用程序,客户端连接并可以询问诸如“时间”,“日期”之类的事情,并且可以说“settime”和“setdate”,我需要编写我的服务器一种它将理解这些命令的方式.

显然,在上述情况下,它是微不足道的,因为它只是一个基于文本的协议.但是,假设您正在编写一个将返回信息结构的应用程序,即

struct Person {
    char* name;
    int age;
    int heightInInches;
    // ... other fields ...
};

您可以从服务器/客户端编写整个结构.在这种情况下,有几点需要注意:

>你需要正确地使用hton / ntoh
>您需要确保您的客户端和服务器都能理解相关的结构.
>您可能也可能不必在4B边界上对齐(因为如果不这样做,不同的C编译器可能会执行不同的操作,这可能会在客户端和服务器之间烧毁,或者可能不会).

但是,一般而言,在编写客户端/服务器应用程序时,最重要的是通信协议.

不过,我不确定这是否能完全回答你的问题.这就是你所追求的,或者你是否在询问更多关于如何使用send / recv函数?

总结

以上是编程之家为你收集整理的C中数据包的读/写处理示例全部内容,希望文章能够帮你解决C中数据包的读/写处理示例所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入编程之家官方QQ群:1065694478
编程之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!