当前位置 : 主页 > 编程语言 > c++ >

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

来源:互联网 收集:自由互联 发布时间:2021-06-23
我对C有点新,但我已完成了我的作业(一些教程,书籍等),我需要编写一个简单的服务器来处理来自客户端的请求并与数据库进行交互.我已经阅读了Beej的网络编程指南,但是我有点不确定如
我对C有点新,但我已完成了我的作业(一些教程,书籍等),我需要编写一个简单的服务器来处理来自客户端的请求并与数据库进行交互.我已经阅读了Beej的网络编程指南,但是我有点不确定如何拼凑并处理来回发送的数据的不同部分.

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

谢谢,

埃里克

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

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

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

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

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

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

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

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

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

网友评论