我正在 Unix 中开发一个相对简单的程序,一个模拟餐厅的客户端-服务器交互。 基本上,进入餐厅/服务员的顾客可以点一份或多份菜肴,通过 FIFO 发送给“厨师”。 菜单必须设置在某个地方并且服务器和客户端都可以访问。它必须是一系列碟形结构。我的第一个想法是将所有这些包含在自定义头文件中: 在shared.h中
typedef struct _dish{
char name [MAX_LEN]; //name of food
int id; //ID
int preptime; //time needed to prepare it
} dish;
typedef struct _request {
pid_t cpid; //client pid
dish menu [MENUSZ]; //array of dishes
} request;
这样客户端以“随机”的方式选择菜品并向服务器发送请求。 我的问题是:如何以及在哪里可以列出所有可用菜肴的列表? 该“菜品 list ”必须可供所有客户使用并单独定义。 为了举例说明我的意思,我必须做类似的事情:
dish dish1;
dish1.name = "Pasta";
dish1.id = 1;
dish1.preptime = 5;
像这样的,一个存储在某处并且可由客户端(最有可能是服务器)访问的列表,可以更轻松地向服务器发送信息,这样我只需发送 ID,服务器就已经知道它是什么食物了。 提前致谢!
最佳答案
如果将它们放在 header 中,则当菜单更改时,您需要重新编译服务器和客户端;根据您的要求,更好的设计是将它们放在服务器上的配置文件中,并让客户端询问 – Christoph
关于c - 如何在C中定义 "constant"结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25510614/