我有一个任务,我要为游戏实现一个得分服务器。游戏完成后,游戏将发送()玩家姓名(char *name)和得分(int score)到服务器进行注册,receive(),服务器将发送回5个最高分。
我们将使用 Berkeley 套接字和 C。在阅读和研究了一些示例之后,我只能找到只发送单个变量的示例。
write(sd, "Hello World", 12);
char buf[13];
read(sd, buf, 12);
buf[12] = '\0';
通常做什么?发送每个变量(名称和分数)是单独的 write() 函数,还是创建一个包含两个变量的结构?
在阅读了Beej 的网络编程指南之后,我遇到了我必须考虑的字节顺序(大/小端序)问题,这在第7.4 节序列化 - 如何打包数据下显示,除了在所有示例代码包中它们浮动和单个变量,有没有办法打包整个结构?
还有一节7.5 Sone of Data Encapsulation涉及创建一个描述客户端和服务器如何通信的协议,对我来说,这看起来更像一个结构,我不会做,但是没有显示原理的代码。
简而言之:我想在服务器和客户端之间建立稳定的通信,在这里我交换的不仅仅是单个变量,