【发布时间】:2012-11-05 00:13:07
【问题描述】:
我有一个任务,我要为游戏实现一个得分服务器。游戏完成后,游戏将发送()玩家姓名(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's Guide to Network Programming后,我遇到了我必须考虑的字节顺序(大/小-endian)问题,这显示在部分下7.4 序列化 - 如何打包数据,除了在所有示例代码包中它们是浮动的和单个变量之外,还可以,有没有办法打包整个结构?
还有一个7.5 Sone of Data Encapsulation部分,它涉及创建一个描述客户端和服务器如何通信的协议,对我来说这看起来更像一个结构,我不会做,但是没有代码说明原理。
简而言之:我想在服务器和客户端之间建立稳定的通信,在这里我交换的不仅仅是单个变量,
【问题讨论】:
标签: c struct berkeley-sockets