【发布时间】:2012-04-14 13:24:42
【问题描述】:
当我写一个 ENUM 引用(如下)时,什么被写入了套接字?我在 whireshark 中捕获了一些东西,但它不像 ENUM 名称“JOIN”.. 它的长度也不相同。服务器以某种方式理解此代码发送了 JOIN 枚举。
#include <sstream>
#include <iostream>
... WriteToSocket( SOCKET hSocket, char *buf, int iCount)
send(hSocket, buf, iCount, 0);
enum { JOIN, ...};
m_Command = JOIN;
WriteToSocket (hSocket, (char *)&m_Command, sizeof(m_Command));
我希望我包含了足够的信息并包含了陈述......
【问题讨论】:
-
将枚举写入套接字给我一种厄运即将来临的感觉。
-
更有理由支持我重写客户端的方法......但我无法更改服务器。不幸的是,我还没有编译和添加打印语句的奢侈。
-
如果你不能改变服务器,你有它使用的协议的规范吗?你有读取它的源代码的权限吗?
-
我只有客户端代码和wireshark(捕获数据包并让我看到所有内容)。应该够了...不过我正在将其转换为 Java,因此运行 C 或 C 示例将花费我更多的设置时间。